2011-11-21 9 views
9

¿Hay algún problema en este código de ejemplo de la Guía de programación de CUDA C?Explique el código de ejemplo de cudaMemcpyToSymbol de la Guía de programación CUDA

__device__ float devData; 
float value = 3.14f; 
cudaMemcpyToSymbol(devData, &value, sizeof(float)); 

No puedo entender cómo se podría escribir en devdata sin tener la dirección de devdata

+0

todos los lectores, no se olvide de votar esta pregunta si cumple con los criterios de voto popular! – necromancer

Respuesta

7

En realidad parece que cudaMemcpyToSymbol tiene otra firma.

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); 
} 

Esto debería coincidir con su caso.

+0

gracias :) [...] – necromancer

Cuestiones relacionadas