cpu对显存和内存的访问速度哪个快?

aipnanti 2014-05-21 05:14:40
目前,cpu可以直接访问显存和内存了吗?哪一个更快呢?
...全文
3491 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
清风水岸 2014-12-15
  • 打赏
  • 举报
回复
这个跟你平台有关的,但是毫无疑问的肯定访问内存比较快。
qinlj0 2014-11-25
  • 打赏
  • 举报
回复
引用 楼主 u011840918 的回复:
目前,cpu可以直接访问显存和内存了吗?哪一个更快呢?
如果软件(主要是操作系统)没有缺陷的话,CPU访问显存和内存的速度,取决于CPU和内存颗粒的物理距离,以及CPU和板载显存颗粒的物理距离。 愿意:电子的速度是固定的。
qinlj0 2014-11-25
  • 打赏
  • 举报
回复
引用 2 楼 the_venus 的回复:
CPU 不能直接访问显存,除非你的显卡是集显.
没有那么神秘。如果是VGA的话,32位保护模式程序可以简单地用MOV指令访问0xA000 0000地址(即2.5G)处的1M Byte左右内存块,这里就是VGA板载显存。
outstander 2014-06-24
  • 打赏
  • 举报
回复
引用 1 楼 fronteer 的回复:
从OpenCL角度,这个问题应该是 "可以直接访问GPU的Device Memory 和系统的 Host Memory吗? 一般而言, CPU可直接访问系统 Host Memory 和 GPU的 Device Memory. 对 Host Memory 的随机访问要快过对 GPU的Device Memory的访问, 但在 OpenCL 编程中, 一般不需要从 CPU对 GPU 的 Device Memory 进行随机访问, 而只需要在 Host Memory 和 GPU Device Memory 直接传输数据( DMA 方式); 另一方面, CPU 对GPU的Device Memory 的访问一般是 non-cached 的, 其中read操作速度会非常慢, write 操作由于采用 write combined 机制性能会好很多; 还有, 从CPU端到discrete GPU的Device Memory的访问要慢于对 Integrated GPU的 Device Memory 的访问速度, 这是因为两种情况的物理距离不一样。 CPU 对Host Memory 访问是 cached 的, 在 本地cache没命中的情况下,访问速度取决于数据所在的物理位置(本地内存,远处内存,远处cache等).
点赞!fronteer分析的非常深入。 补充一点个人看法,即使使用zero-copy技术,CPU访问独立显卡显存时还是要通过PCI-E总线的。即使不将cache机制等因素考虑在内,也要慢不少。zero-copy只是减少了从copy到核态的开销而不是消除了读取时间。 另外,如果是APU统一访存空间的话,似乎问题又不一样了。此时,显存的物理介质就是host memory,理论上可以进行cache也不用通过PCI-E总线。如果操作系统和统一访存技术做的好,理论上似乎有实现一样的访问速度机会。但不知统一访存的具体机制。
zenny_chen 2014-06-19
  • 打赏
  • 举报
回复
CPU的存储器控制器直接作用于内存(也就是所谓的主存)。再加上各种硬件预取以及Cache机制,肯定是访问主存更快。 现在对OpenCL,尤其是GPU端的驱动这一侧所要优化的是数据拷贝问题,而不是说CPU访问VRAM会比自己的Host Memory更快,如果这样子的话就成笑话了,呵呵。 现在AMD其实已经开发了一些0拷贝技术。比如在驱动层支持对GPU显存的虚拟内存技术。通过MapBuffer可以直接映射过去,也就是所谓的零拷贝技术。在此环境下,使用clEnqueueMapBuffer()自动变成了空操作,可以把它看作为无任何消耗~
lcwyylcwyy 2014-06-16
  • 打赏
  • 举报
回复
补充一下,零拷贝技术本身很快,但是有很多限制,如原子操作会让访问速度变得非常慢。
lcwyylcwyy 2014-06-15
  • 打赏
  • 举报
回复
CPU不能直接访问显存。但是可以使用零拷贝技术,让GPU访问内存,不过速度比较慢。另外集显只是内存和显存在一个物理载体上。至于存储器访问时间的快慢,有一条原则就是离芯片越近,访问速度就越快。
the_venus 2014-06-14
  • 打赏
  • 举报
回复
CPU 不能直接访问显存,除非你的显卡是集显.
fronteer 2014-05-21
  • 打赏
  • 举报
回复
从OpenCL角度,这个问题应该是 "可以直接访问GPU的Device Memory 和系统的 Host Memory吗? 一般而言, CPU可直接访问系统 Host Memory 和 GPU的 Device Memory. 对 Host Memory 的随机访问要快过对 GPU的Device Memory的访问, 但在 OpenCL 编程中, 一般不需要从 CPU对 GPU 的 Device Memory 进行随机访问, 而只需要在 Host Memory 和 GPU Device Memory 直接传输数据( DMA 方式); 另一方面, CPU 对GPU的Device Memory 的访问一般是 non-cached 的, 其中read操作速度会非常慢, write 操作由于采用 write combined 机制性能会好很多; 还有, 从CPU端到discrete GPU的Device Memory的访问要慢于对 Integrated GPU的 Device Memory 的访问速度, 这是因为两种情况的物理距离不一样。 CPU 对Host Memory 访问是 cached 的, 在 本地cache没命中的情况下,访问速度取决于数据所在的物理位置(本地内存,远处内存,远处cache等).
计算机自诞生以来,就一直按照摩尔定律飞速发展。特别近年来随着并行技术的应用,如双通道内存,多核处理器以及双显卡互联等,CPU内存和显卡等几大配件的性能都得到了相当明显的提升。然而作为计算机最主要配件之一的硬盘系统由于受其机械装置和技术工艺的限制,在性能上始终得不到质的飞跃,从而越来越严重地成为整个计算机性能提升的瓶颈。尤其在需要速处理大量数据的应用环境中,比如网络服务器系统、大型图像处理系统以及实时监控分析系统等,硬盘性能瓶颈对整个应用系统带来的影响非常明显。 内存虚拟硬盘 VSuite Ramdisk 正是对此问题的有效解决方案。它采用独特的软件算法,高效率地将内存虚拟成物理硬盘,使得对硬盘文件的数据读写转化为对内存的数据访问,极大的提高数据访问速度,从而突破硬盘瓶颈,飞速提升计算机性能。另一方面它大大减少了对物理硬盘的访问次数,起到延长硬盘寿命的作用。这对于频繁通过网络交换大容量文件的用户尤其有帮助。 内存虚拟硬盘 VSuite Ramdisk 还具有检测和利用系统未识别内存的功能,解决32位Windows操作系统无法完全使用4G或更多内存的问题。通过将检测到的系统未识别内存虚拟成硬盘的方式,VSuite Ramdisk 使计算机可以充分利用全部安装的内存

603

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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