一个令人费解的问题!急啊

luck4917 2015-01-07 04:13:01
运用CUDA函数开空间和拷贝大数据(大概100M)函数时,发现CPU内存空间少了几十M(兆)
CUDA_SAFE_CALL( cudaMalloc((void**)&d_PixelListData, sizeof(short) * TotalNum));
CUDA_SAFE_CALL( cudaMemcpy( (void*)d_PixelListData, h_PData, sizeof(short) * TotalNum,cudaMemcpyHostToDevice) );
感觉就是GPU里面执行程序时,使用了CPU里的缓存?<>
申明变量 short* h_PData(CPU的变量)
short* d_PixelListData;
而且释放函数CUDA_SAFE_CALL( cudaFree((void*)d_PixelListData)); d_PixelListData = NULL; 时CPU资源也没增加。

哪位高手碰到过类似问题,望不吝赐教!感谢
...全文
247 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
YCMyTot 2015-01-08
  • 打赏
  • 举报
回复
我是这么理解的,如果错了,还望指教! cudaMalloc(); 函数是在 GPU上分配空间, cudaMemcpy(); 函数是在主机端调用的,当然要使用CPU上的空间。 cudaFree(); 是释放GPU上的空间。

580

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧