CUDA COnstant内存使用

时间:2015-04-23 14:51:19

标签: c cuda gpu-constant-memory

我有一个包含以下文件的cuda项目

标题文件:

 Declarations.h

主档案:

 main.cpp:
    #include "Declarations.h"

和内核文件:

Kernel.cu:
    #include "Declarations.h"

main.cpp中,我有float K1[3*3]我要复制到GPU常量内存。 为此,我在__constant__ float K1_d[3*3];Declarations.h中宣布了main.cpp

checkCudaErrors( cudaMemcpyToSymbol(&K1_d, &K1, 9*sizeof(float)) );

运行代码时出现以下错误:CUDA error at c:\users\xxx\test.cpp:241 code=13(cudaErrorInvalidSymbol) "cudaMemcpyToSymbol(&K1, &K1_inv, 9*sizeof(float))"

我试图复制一个变量,例如,我在头文件中声明了

__constant__ float N;

并做了:checkCudaErrors( cudaMemcpyToSymbol(&N, &K1_inv[0], sizeof(float)) );

我收到了宏chechCudaErrors的相同错误消息。

如何在CUDA中将变量转换为常量内存?`

0 个答案:

没有答案