函数名及其参数之间的 <<<x,y>>> 是什么意思?

jin*_*gbe 2 c++ syntax cuda caffe

我正在学习caffe(bvlc)。

当我分析代码时,我发现了一些我不认识的奇怪代码。

像这样 :

im2col_gpu_kernel<Dtype><<<CAFFE_GET_BLOCKS(num_kernels),
                         CAFFE_CUDA_NUM_THREADS>>>(
  num_kernels, data_im, height, width, kernel_h, kernel_w, pad_h,
  pad_w, stride_h, stride_w, dilation_h, dilation_w, height_col,
  width_col, data_col);
Run Code Online (Sandbox Code Playgroud)

当我对 im2col_gpu_kernel 函数进行评论时,我发现有大量关于该函数的调用。

所以我猜测“<<<>>>”这段代码进行循环(如for,while)调用func。

是吗?或者还有其他角色吗?这段代码是 c++ std 库吗?

Flo*_*UET 5

这个三重尖括号表示法是 CUDA 运行时语法糖的一部分。它是一个用于配置设备调用执行的占位符 -有关详细信息,请参阅CUDA 编程模型。