缺乏CUDA 5动态并行性示例

max*_*ywb 5 cuda hpc nvidia

我一直在使用Google周围,只能够找到一个简单的例子,在其链接技术简报中的一个计算能力3.0的新动态并行的从这里开始.我知道HPC专用卡可能要到明年这个时候才能使用(在nat'l实验室获得之后).是的,我意识到他们给出的简单例子足以让你前进,但越多越好.

还有其他我错过的例子吗?

为了省去麻烦,以下是技术简报中给出的完整示例:

__global__ ChildKernel(void* data){
    //Operate on data
}
__global__ ParentKernel(void *data){
    ChildKernel<<<16, 1>>>(data);
}
// In Host Code
ParentKernel<<<256, 64>>(data);

// Recursion is also supported
__global__ RecursiveKernel(void* data){
    if(continueRecursion == true)
        RecursiveKernel<<<64, 16>>>(data);
}
Run Code Online (Sandbox Code Playgroud)

编辑:GTC演讲CUDA编程模型中的新功能主要集中在CUDA 5中的新动态并行机制.该链接包含视频和幻灯片.仍然只是玩具的例子,但比上面的技术简介更详细.

W.S*_*Sun 6

这就是您所需要的动态并行编程指南.详细信息和示例:http://docs.nvidia.com/cuda/pdf/CUDA_Dynamic_Parallelism_Programming_Guide.pdf


C o*_*eil 5

只是为了确认动态并行性仅支持GPU,计算能力为3.5以上.

我安装了cuda 5.0的3.0 GPU我编译了动态并行示例nvcc -arch = sm_30 test.cu

并收到以下编译错误test.cu(10):错误:只允许在compute_35体系结构或更高版本上从全局函数("parent_launch")调用全局函数("child_launch").

GPU信息

设备0:"GeForce GT 640"CUDA驱动程序版本/运行时版本5.0/5.0 CUDA功能主要/次要版本号:3.0

希望这可以帮助