Tovi
December 14, 2008, 3:28pm
1
Hi,
This is probably a stupid question, but I don’t know how to use the cudaMemCpyToSymbol correctly. I’m trying to copy local host memory to constant device memory.
So let’s say I have the following simplified example:
__device__ __constant__ float symbol;
void initSymbol(){
float symbolCPU = 3.0f;
cudaMemCpyToSymbol ( symbol, symbolCPU, sizeof(float), 0, cudaCpyHostToDevice);
}
What is wrong with this?
Hi,
This is probably a stupid question, but I don’t know how to use the cudaMemCpyToSymbol correctly. I’m trying to copy local host memory to constant device memory.
So let’s say I have the following simplified example:
__device__ __constant__ float symbol;
void initSymbol(){
float symbolCPU = 3.0f;
cudaMemCpyToSymbol ( symbol, symbolCPU, sizeof(float), 0, cudaCpyHostToDevice);
}
What is wrong with this?
Well, you supply 5 inputs to the function, where I can only see 3 in the programming guide. You need to at least remove the last 2 inputs. And I also think you need to supply the address of the host float.
Tovi
December 14, 2008, 5:00pm
3
Well, you supply 5 inputs to the function, where I can only see 3 in the programming guide. You need to at least remove the last 2 inputs. And I also think you need to supply the address of the host float.
Actually, The reference manual also gives 5 inputs.
Anyway, I deleted the last two inputs and made the second argument a reference.
But my main mistake was something else. It was that I tried to calculate symbolCPU with other GPU variables. I’ve fixed the problem and now it works.
Thanks anyway!
Actually, The reference manual also gives 5 inputs.
Anyway, I deleted the last two inputs and made the second argument a reference.
But my main mistake was something else. It was that I tried to calculate symbolCPU with other GPU variables. I’ve fixed the problem and now it works.
Thanks anyway!
Okay, good to know about the fact the reference manual has 2 more. That might mean that you can do a cudaMemCopyToSymbol(…, cudaMemCopyDeviceToDevice)