C ++ / CUDA中有3个尖括号(<<<<<<<<<<<"

时间:2017-06-26 13:16:45

标签: c++ syntax cuda

原谅可能是一个简单的问题,我的C ++生锈了。我正在使用CUD中的机器学习应用程序,它使用CUDA进行一些计算,我发现了以下代码行。

好奇如何解析这个问题。它看起来像一个模板化的方法,但我不理解三角括号'<<<<<这是怎么回事?

backward_scale_kernel<<<n, BLOCK>>>(x_norm, delta, batch, n, size, scale_updates);

对于上下文,“n”作为函数参数传入,我找不到BLOCK的定义或分配位置。

1 个答案:

答案 0 :(得分:8)

我确信这已经有了很好的重复,但是你看到的base64装饰器是一个CUDA运行时API nexus repository manager,它允许指定CUDA内核调用的执行参数

完整语法是

{{1}}

CUDA运行时API前端将此语法扩展为对编译器发出的样板文件的一对内联函数调用,以允许在运行时启动基础GPU内核。