我对CUDA
相当陌生,熟悉cudaMalloc
和cudaMemcpy
以及cudaMemcpyToSymbol
的正常用法,以便复制到常量内存。
但是,我刚刚获得了一些代码,这些代码经常使用cudaGetSymbolAddress
和cudaMemcpyToSymbol
复制到全局内存中,我不确定为什么他们选择这样做而不是cudaMalloc
/ cudaMemcpy
。
有人能够解释何时使用cudaGetSymbolAddress
和cudaMemcpyToSymbol
是否合适和适当?
谢谢!
答案 0 :(得分:2)
使用cudaMalloc
动态分配全局内存时,要使用的正确复制API为cudaMemcpy
。
分配全局内存时statically:
__device__ int my_data[DSIZE];
然后使用的正确API是cudaMemcpyToSymbol
或cudaMemcpyFromSymbol