use*_*900 6 cuda opencl visual-c++
以下语法的含义是什么:
Kernel_fun<<<256, 128, 2056>>>(arg1, arg2, arg3);
Run Code Online (Sandbox Code Playgroud)
哪个值表示工作组,哪个值表示线程.
Eso*_*ame 14
从CUDA编程指南,附录B.19:
通过在函数名和带括号的参数列表之间插入<<< Dg,Db,Ns,S >>>形式的表达式来指定执行配置,其中:
Dg的类型为dim3(参见B.3.2节)并指定网格的尺寸和大小,使得Dg.x*Dg.y*Dg.z等于正在启动的块数; 对于计算能力为1.x的设备,Dg.z必须等于1;
Db的类型为dim3(参见第B.3.2节)并指定每个块的尺寸和大小,使得Db.x*Db.y*Db.z等于每个块的线程数;
Ns的类型为size_t,并指定除了静态分配的内存之外,每个块为此调用动态分配的共享内存中的字节数.这个动态分配的内存被声明为外部数组的任何变量使用,如B.2.3节所述; Ns是一个可选参数,默认为0;
S的类型为cudaStream_t,并指定相关的流; S是可选参数,默认为0.
简而言之:
<<< number of blocks, number of threads, dynamic memory per block, associated stream >>>