cudaMemcpy - copy an int from host to device error
What is the difference between
cudaMemcpy and cudaMemset??
How can I copy an int value from host to device? This is the code I am using
int addXdir = 1;
int devAddXdir;
cudaMalloc((void**)&devAddXdir, sizeof(int));
cudaMemcpy(devAddXdir, addXdir, sizeof(int), cudaMem开发者_运维知识库cpyHostToDevice);
it gives the following errors error: argument of type "int" is incompatible with parameter of type "void *" error: argument of type "int" is incompatible with parameter of type "const void *"
devAddXdir
must be a pointer for that code to work. Also, you must pass addXdir
by reference to cudaMemcpy
, not by value. Like this:
int addXdir = 1;
int * devAddXdir;
cudaMalloc((void**)&devAddXdir, sizeof(int));
cudaMemcpy(devAddXdir, &addXdir, sizeof(int), cudaMemcpyHostToDevice);
精彩评论