小编kot*_*tsu的帖子

在CUDA 9中找不到grid_group

我尝试在CUDA 9中使用协作组,但是在编译时遇到错误.
有谁知道解决方案?

开发环境如下:

  • CUDA 9
  • 开普勒K80
  • 计算能力:3.7
#include <cstdint>
#include <iostream>
#include <vector>

#include <cooperative_groups.h>

__global__
void kernel(uint32_t values[])
{
    using namespace cooperative_groups;

    grid_group g = this_grid();
}

int main(void)
{
    constexpr uint32_t kNum = 1 << 24; 
    std::vector<uint32_t> h_values(kNum);
    uint32_t *d_values;

    cudaMalloc(&d_values, sizeof(uint32_t) * kNum);
    cudaMemcpy(d_values, h_values.data(), sizeof(uint32_t) * kNum, cudaMemcpyHostToDevice);

    const uint32_t thread_num = 256;
    const dim3 block(thread_num);
    const dim3 grid((kNum + block.x - 1) / block.x);
    void *params[] = {&d_values};

    cudaLaunchCooperativeKernel((void *)kernel, grid, block, params);

    cudaMemcpy(h_values.data(), …
Run Code Online (Sandbox Code Playgroud)

cuda

3
推荐指数
1
解决办法
934
查看次数

标签 统计

cuda ×1