CUDA下在Host端分配的几种内存模式

 我来答
ali9795
2013-10-23 · 超过63用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:151万
展开全部
  优点  1、带宽更高
  2、内核处理和内存拷贝可同时进行
  3、可以内存映射(mapped)  缺点  使用pinned会减少系统内存的可用量,进而影响系统性能。
  在Pinned模式下又有以下几种属性:  Write-combining
  缺省的话pinned拥有cacheable属性,可以用cudaHostAllocWriteCombined标志替代  优点  1、可以释放L1和L2资源,让缓存应用于别的地方
  2、write-combining在通过PCIE总线传输时不会被检测,大约可提高
  40%的性能  缺点  无法读取或读取极慢。
  Portable  对于多线程,只能分配pinned的线程可以得到好处,如果想让别的线程也共享,需要cudaHostAllocPortable标志。
  Mapped  传入cudaHostAllocMapped标识可以让宿主与设备内存映射(某些设备支持),这样设备和宿主共用一块内存,在内核函数中可以用cudaHostGetDevicePointer得到指针,不同的宿主线程得到的指针是不同的。
  优点  不用在设备中分配和拷贝内存,数据在需要的时候被内核隐式传输  不需要用Stream来异步执行,内核函数自动在执行的同时异步传输  缺点  由于内存共享,内存访问必须同步
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式