请解释CUDA编程指南中的CUDAMEMCPITOSYMBOL示例代码
CUDA C编程指南中的示例代码有问题吗请解释CUDA编程指南中的CUDAMEMCPITOSYMBOL示例代码,cuda,Cuda,CUDA C编程指南中的示例代码有问题吗 __device__ float devData; float value = 3.14f; cudaMemcpyToSymbol(devData, &value, sizeof(float)); 我无法理解它如何在没有devData地址的情况下向devData写入数据。实际上,cudaMemcpyToSymbol似乎还有另一个签名 模板 __内联主机错误( const T&symbol, const void*src, 大小不可计数, 大小
__device__ float devData;
float value = 3.14f;
cudaMemcpyToSymbol(devData, &value, sizeof(float));
我无法理解它如何在没有devData地址的情况下向devData写入数据。实际上,cudaMemcpyToSymbol似乎还有另一个签名
模板
__内联主机错误(
const T&symbol,
const void*src,
大小不可计数,
大小\u t偏移=0,
枚举cudaMemcpyKind kind=cudaMemcpyHostToDevice
)
{
返回cudaMemcpyToSymbol((const char*)&symbol,src,count,offset,kind);
}
这一个将符合您的情况。所有观众,如果这个问题符合UPVOUT标准,请不要忽略UPVOUT!
template<class T>
__inline__ __host__ cudaError_t cudaMemcpyToSymbol(
const T &symbol,
const void *src,
size_t count,
size_t offset = 0,
enum cudaMemcpyKind kind = cudaMemcpyHostToDevice
)
{
return cudaMemcpyToSymbol((const char*)&symbol, src, count, offset, kind);
}