Есть ли проблема в этом примере кода из Руководства по программированию CUDA C?
__device__ float devData; float value = 3.14f; cudaMemcpyToSymbol(devData, &value, sizeof(float));
Я не могу понять, как он мог писать в devData, не имея адреса devData
На самом деле кажется, что cudaMemcpyToSymbol имеет другую подпись.
http://cudpp.googlecode.com/svn-history/r152/trunk/common/inc/dynlink/cuda_runtime_dynlink.h
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); }
Эта соответствует вашему случаю.