CUDA如何<<<&燃气轮机&燃气轮机&燃气轮机;()实现了内核启动语法

CUDA如何<<<&燃气轮机&燃气轮机&燃气轮机;()实现了内核启动语法,cuda,language-design,Cuda,Language Design,CUDA内核使用这种语法启动(至少在运行时API中) mykernel(args); 这是作为宏实现的还是nvcc在将主机代码交给gcc之前删除的特殊语法?预处理系统最终将其转换为一个序列,然后再将代码交给主机代码编译器进行编译。根据CUDA版本的不同,调用的确切顺序可能会发生变化 您可以使用--keep选项来检查文件,以nvcc(和--verbose也可以帮助理解),并且您还可以看到为内核调用发出的API调用的跟踪,这些调用使用一个探查器,例如nvprof--print API trace…

CUDA内核使用这种语法启动(至少在运行时API中)

mykernel(args);

这是作为宏实现的还是nvcc在将主机代码交给gcc之前删除的特殊语法?

预处理系统最终将其转换为一个序列,然后再将代码交给主机代码编译器进行编译。根据CUDA版本的不同,调用的确切顺序可能会发生变化

您可以使用
--keep
选项来检查文件,以
nvcc
(和
--verbose
也可以帮助理解),并且您还可以看到为内核调用发出的API调用的跟踪,这些调用使用一个探查器,例如
nvprof--print API trace…

---编辑---

为了使这个答案更简洁,nvcc直接修改主机代码以替换语法,然后将其传递给主机编译器()

mykernel<<<blocks, threads, shared_mem, stream>>>(args);