Cuda无效文档

Cuda无效文档,cuda,Cuda,这是一个来自nvidia网站的示例。根据同一网站的说法,cudaMemcpyToSymbol的签名以指针作为第一个参数。变量devData不是指针,仍在使用它代替指针。这怎么可能?我也意识到签名已经改变了,但为什么这在任何情况下都有意义呢?作为新函数的符号,这也是一个有效的参数吗?请查看文档。这是cuda c指南中的一个示例,它是正确的。您是否尝试过编译它并遇到了问题,或者您只是说根据您的理解,它不应该工作?我承认cudaMemcpyToSymbol()的文档令人困惑,特别是随着时间的推移。但就

这是一个来自nvidia网站的示例。根据同一网站的说法,cudaMemcpyToSymbol的签名以指针作为第一个参数。变量devData不是指针,仍在使用它代替指针。这怎么可能?我也意识到签名已经改变了,但为什么这在任何情况下都有意义呢?作为新函数的符号,这也是一个有效的参数吗?

请查看文档。

这是cuda c指南中的一个示例,它是正确的。您是否尝试过编译它并遇到了问题,或者您只是说根据您的理解,它不应该工作?我承认cudaMemcpyToSymbol()的文档令人困惑,特别是随着时间的推移。但就我所知,上面的代码是正确的,我正在为一个实验做准备,在这个实验中,我将远程运行代码。我目前没有访问任何运行CUDA的卡。这个函数将与任何CUDA设置一起工作,或者需要添加一些东西来运行C++类函数。只要使用<代码> NVCC < /code >编译代码(这是编译CUDA代码的正常方式),它将与任何设置一起工作。让我为您仅凭文档就走到了这一步而鼓掌!我相信如果没有一些实际GPU的实践经验,了解CUDA是非常困难的。
__constant__ float constData[256];
float data[256];
cudaMemcpyToSymbol(constData, data, sizeof(data));
cudaMemcpyFromSymbol(data, constData, sizeof(data));
__device__ float devData;
float value = 3.14f;
cudaMemcpyToSymbol(devData, &value, sizeof(float));
__device__ float* devPointer;
float* ptr;
cudaMalloc(&ptr, 256 * sizeof(float));
cudaMemcpyToSymbol(devPointer, &ptr, sizeof(ptr));