在 CUDA 10.0 中,可以使用 'cudaMemcpyToSymbol' 函数将核函数的参数复制到符号中。然后,可以使用 'cudaGetSymbolSize' 函数获取符号的大小。

例如,假设有一个名为 'myKernel' 的核函数,其中有一个参数 'arg',可以按以下方式将其复制到符号中:

__global__ void myKernel(int arg) {
  // ...
}

int main() {
  int arg = 42;
  cudaMemcpyToSymbol(myKernel_arg, &arg, sizeof(int));
  size_t symbolSize;
  cudaGetSymbolSize(&symbolSize, myKernel_arg);
  // ...
}

在上面的示例中,'myKernel_arg' 是一个符号,它表示 'myKernel' 函数的参数 'arg'。'cudaMemcpyToSymbol' 函数将 'arg' 的值复制到 'myKernel_arg' 符号中。然后,'cudaGetSymbolSize' 函数获取 'myKernel_arg' 符号的大小。

CUDA 10.0 中将核函数参数转换为符号以获取其大小

原文地址: https://www.cveoy.top/t/topic/nz3N 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录