几何尺寸与公差论坛

 找回密码
 注册
查看: 346|回复: 0

CUDA统一内存、零复制内存、锁页内存

[复制链接]
发表于 2022-12-21 16:41:44 | 显示全部楼层 |阅读模式

CUDA 6.0以后,出现了:统一内存,unified memory,其具有以下特性:
1 其声明有以下两种方式:
a 使用关键字managed,可选的和device,一起使用,比如:device managed int ret[1000];
b 使用函数cudaMallocManaged():
int *ret;
cudaMallocManaged(&ret,1000*sizeof(int));
cudaFree(ret);

2 使用上面两种方式声明的内存,能够被cpu和gpu同时访问,不需要显式的在cpu和gpu之间使用cudaMemcpy()在cpu和gpu之间进行内存传输
3 cuda的managed内存和其zero-copy memory之间的区别在于:
a zero-copy分配的是CPU中的固定页内存(pinned memory in cpu system ),这种方式下,根据从哪里索引这个内存,其速度将更快或者更慢,零复制内存
实际上是一种特殊形式的内存映射,它允许你将主机内存直接映射到GPU内存空间上。
b 统一内存,将内存与执行空间分开,这样所有的数据访问都很快

cuda中锁页内存和零复制内存
锁页内存允许GPU上的DMA控制器请求主机传输,而不需要CPU主机处理器的参与
CPU仍然可以访问上述锁页内存,但是此内存是不能移动或换页到磁盘上的
在GPU上分配的内存默认都是锁页内存,这只是因为GPU不支持将内存交换到磁盘上
————————————————
版权声明:本文为CSDN博主「跬步达千里」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LIYUAN123ZHOUHUI/article/details/53672656
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-21 00:16 , Processed in 0.035383 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表