Код: Выделить всё
CUdeviceptr v1;
checkCudaResult(cuMemAlloc((CUdeviceptr*)&v1, 16));
checkCudaErrors(cudaMemset((void*)v1, 1, 16));
uchar** v1char = (uchar**)v1;
foo_double(v1char);
checkCudaResult(cuMemFree(v1));
Код: Выделить всё
_global__ void foo_double(uchar** val) {
unsigned int tid = threadIdx_x;
unsigned int bid = blockIdx_x * blockDim_x + tid;
uchar* val_ = val[bid];
printf("%d:%d\n", bid,*val_);
}
Нет ошибок компиляции или сборки. Есть ли правильный способ привести тип v1 (указатель устройства) к указателю uchar** и правильно получить доступ к адресу?
Нет ошибок компиляции или сборки. п>
Подробнее здесь: https://stackoverflow.com/questions/787 ... ccess-erro