我的CUDA内核看起来像这样。
#define MY_AWESOME_MACRO(foo, bar) (foo * bar * 123 + 456)
__global__ void my_CUDA_kernel(int* cool, float* beans) {
// Some computation.
}
我应该将宏放在函数内部还是外部?我用Google搜索,有些人做了两件事。这样或那样做有害吗?
答案 0 :(得分:2)
从概念上讲,没有区别。您可以在文件中的任何位置定义宏。
当我使用Compute Visual Profiler时,外部定义的宏的代码运行速度比另一个快。我建议你为它们使用分析器并检查哪个适合你的要求。