0

我的 CUDA 内核看起来像这样。

#define MY_AWESOME_MACRO(foo, bar) (foo * bar * 123 + 456)
__global__ void my_CUDA_kernel(int* cool, float* beans) {
    // Some computation.
}

我应该将宏放在函数内部还是外部?我用谷歌搜索了一下,有些人两者都做。以一种方式或另一种方式这样做有什么害处吗?

4

1 回答 1

2

从概念上讲,没有区别。您可以在文件中的任何位置定义宏。

当我使用 Compute Visual Profiler 时,在外部定义宏的代码比另一个运行得更快。我建议您对它们都使用分析器并检查哪个适合您的要求。

于 2012-11-10T06:51:02.013 回答