我的目标是利用我的应用程序中的缓存内存并搜索在线示例显示使用__ldg应该相对简单.
NVIDIA有GPU优化文档(在这里找到:https://www.olcf.ornl.gov/wp-content/uploads/2013/02/GPU_Opt_Fund-CW1.pdf),它提供了一个简单的例子:
__global__ void kernel ( int *output, int *input)
{
...
output[idx] = __ldg( &input[idx] );
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译它时,我收到以下错误消息:
error: identifier "__ldg" is undefined.
Run Code Online (Sandbox Code Playgroud)
不幸的是,在Google上搜索此错误消息的解决方案无济于事.有什么建议这个简单的例子可能有什么问题吗?
是否有我遗漏的编译器标志?
作为参考,我的设备是计算能力3.5,我正在使用CUDA 5.5.
谢谢.