我在尝试使用数据类型 cudaPitchedptr 中的数组时遇到了问题。我将数据从主函数传输到全局函数并打印值。但是,当我在 cudaMemset3D 中将值设置为 12 时,打印的结果为 0.0000。附上我的代码。如果有人可以帮助我,我真的很感激。
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include "cuPrintf.cu"
#include "stdio.h"
__global__ void printtest(double devptr[])
{
printf("%f\n",devptr[1]);
}
int main()
{
int width=191, height=192, depth=192;
cudaExtent extent= make_cudaExtent( width*sizeof(double),height,depth);
cudaPitchedPtr Ex;
cudaMalloc3D(&Ex,extent);
cudaMemset3D(Ex,12 ,extent);
printtest<<<1,1>>>( (double*) Ex.ptr);
}