CUDA 6/8 中的统一内存

举报
ShaderJoy 发表于 2021/12/31 23:40:41 2021/12/31
【摘要】 原文 通过CUDA 6,英伟达推出了 CUDA 平台历史上最引人注目的编程模型改进之一——统一内存。在当今典型的PC或集群节点中,CPU和GPU的内存在物理上是不同的,并由PCI-Express总线分隔开。在 CUDA 6 之前,这正是程序员看待事物的方式。CPU 和 GPU 之间共享的数据必须分配在两个内存中,并由程序显式地在它们之...

原文

通过CUDA 6,英伟达推出了 CUDA 平台历史上最引人注目的编程模型改进之一——统一内存。在当今典型的PC或集群节点中,CPU和GPU的内存在物理上是不同的,并由PCI-Express总线分隔开。在 CUDA 6 之前,这正是程序员看待事物的方式。CPU 和 GPU 之间共享的数据必须分配在两个内存中,并由程序显式地在它们之间复制。这给 CUDA 程序增加了很多复杂性。

统一内存创建一个托管内存池,在 CPU 和 GPU 之间共享,弥合 CPU 和 GPU 之间的鸿沟。使用一个指针,CPU 和 GPU 都可以访问托管内存。关键是系统自动在主机和设备之间的统一内存中迁移分配的数据,使其看起来像 CPU 内存在 CPU 上运行,又像 GPU 内存在 GPU 上运行。

在本文中,我将向您展示统一内存如何显著简化 GPU 加速的应用程序中的内存管理。下图显示了一个非常简单的例子。这两种代码都从磁盘加载文件࿰

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/88938719

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。