添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
被表白的酸菜鱼  ·  MySQL UNION ...·  1 年前    · 
无邪的橙子  ·  .git/hooks/pre-commit ...·  1 年前    · 
英勇无比的筷子  ·  Update-Recipient ...·  2 年前    · 
性感的小虾米  ·  Example: Deploying ...·  2 年前    · 

cuda zero-copy

cudaHostAlloc(&data, size, cudaHostAllocMapped);
std::cout << "data = " << data << std::endl;
// deviceData == data, 下面步骤多此一举
float* deviceData = nullptr;
cudaHostGetDevicePointer((void **)&deviceData, (void *)data, cudaHostRegisterDefault);
std::cout << "deviceData = " << deviceData << std::endl;

就没人验证下吗? 到处都是这样写

有的甚至还去调用 cudaMemcpy() 简直了

GPUS开发者:CUDA优化的冷知识10 | GPU卡和Jetson上显存优化的特色

经过循环 10000 次测试, 如果不调用 cudaFreeHost(data); 只有内存一直增加, 显存根本不变

这个时候有人就要问 cudaHostGetDevicePointer 这个函数是用来干什么的.

事实上, 还有个函数可以把host分配的内存作为page-locked memory

cudaHostRegister(data, size, cudaHostRegisterDefault);