OpenCL - 如果GPU内存大于系统RAM会发生什么?

3
我们有一个OpenCL应用程序,在一台内存为12GB的机器上单个运行Nvidia C2075 (6GB Mem)。
我们已经配置了一台新机器,配备了12GB RAM和AMD W9100 GPU (16GB Mem),并通过运行简单的OpenCL应用程序确保一切正确。
现在,在新机器上相同的OpenCL应用程序崩溃了。我们发现在执行过程中,部分内存分配失败。将系统内存增加到24GB可以使应用程序正常工作。
(该应用程序可在所有GPU内存>系统内存的单个GPU机器上运行,所有机器均为SUSE Linux企业服务器64位)
你如何得出这种情况的结论?
我认为GPU将其整个16GB映射到系统RAM上,从而导致内存饥饿。但是通过/proc/iomem和lspci-v,我无法看到16GB窗口。
GPU真的会将其内存映射到系统内存中吗?
感谢您的帮助

这不仅仅是应用程序根据可用设备内存选择其数据大小,然后分配一块系统RAM以匹配的简单问题吗? - that other guy
1个回答

3

我不知道会发生什么,但我相信一台GPU内存比RAM更多的机器是非常不平衡的(你可能会尝试 thrashing……)。现在RAM相当便宜,所以去买一些吧!

你的机器可能不平衡,因为在数值计算中并不是所有的东西都发生在GPU内部。你需要进行一些数据管理(至少是malloc和IO以及整体计算控制),这需要数据有时位于进程内存空间中,实际上应该是在RAM中。

你是如何得出这种情况的结论的?我认为GPU正在将其整个16GB映射到系统RAM上,从而导致内存饥饿。

当然不是。GPU内存是mmap(2)-ed,这意味着在虚拟内存中,而不是物理内存中。

据我所知,GPU内存被软件视为RAM,即使它可能比普通RAM慢几倍(对于处理器访问),因为连接图形卡和主板的PCI总线比连接RAM和处理器的RAM总线要慢得多。
我有一款低端的NVIDIA GPU,拥有16 GbRAM和仅1或2 Gb的GPU内存,但是:
 % sudo cat /proc/$(pidof /usr/bin/X)/maps
7f18a942a000-7f18ad42a000 rw-s 00000000 00:05 76611587                   /SYSV00000000 (deleted)
7f18ad42a000-7f18adae5000 rw-p 00000000 00:00 0 
7f18ade6e000-7f18ae658000 rw-p 00000000 00:00 0 
7f18af0f9000-7f18affce000 rw-p 00000000 00:00 0 
7f18b02ce000-7f18b12ae000 rw-s 103ada000 00:06 14729                     /dev/dri/card0

7f18b656e000-7f18b656f000 rw-p 00025000 08:02 2229454                    /usr/lib/xorg/modules/libfb.so
7f18b65c3000-7f18b6643000 rw-s 00000000 00:05 76546049                   /SYSV00000000 (deleted)
7f18b6663000-7f18b66c3000 rw-s 00000000 00:05 76742661                   /SYSV00000000 (deleted)
7f18b66c3000-7f18b6743000 rw-s 00000000 00:05 76709892                   /SYSV00000000 (deleted)
7f18b6743000-7f18b674f000 r-xp 00000000 08:02 534519                     /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1.0.1
7f18b674f000-7f18b694e000 ---p 0000c000 08:02 534519                     /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1.0.1
7f18b694e000-7f18b694f000 r--p 0000b000 08:02 534519                     /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1.0.1
7f18b694f000-7f18b6950000 rw-p 0000c000 08:02 534519                     /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1.0.1
7f18b6950000-7f18b6971000 r-xp 00000000 08:02 536346                     /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7f18b6971000-7f18b6b70000 ---p 00021000 08:02 536346                     /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7f18b6b70000-7f18b6b71000 r--p 00020000 08:02 536346                     /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7f18b6b71000-7f18b6b72000 rw-p 00021000 08:02 536346                     /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7f18b6b72000-7f18b6b88000 r-xp 00000000 08:02 2229443                    /usr/lib/xorg/modules/libexa.so
7f18b6b88000-7f18b6d88000 ---p 00016000 08:02 2229443                    /usr/lib/xorg/modules/libexa.so
7f18b6d88000-7f18b6d89000 r--p 00016000 08:02 2229443                    /usr/lib/xorg/modules/libexa.so
7f18b6d89000-7f18b6d8a000 rw-p 00017000 08:02 2229443                    /usr/lib/xorg/modules/libexa.so
7f18b6d8a000-7f18b6d90000 r-xp 00000000 08:02 534517                     /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
7f18b6d90000-7f18b6f8f000 ---p 00006000 08:02 534517                     /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
7f18b6f8f000-7f18b6f90000 r--p 00005000 08:02 534517                     /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
7f18b6f90000-7f18b6f91000 rw-p 00006000 08:02 534517                     /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
7f18b6f91000-7f18b6fc2000 r-xp 00000000 08:02 2232215                    /usr/lib/xorg/modules/drivers/nouveau_drv.so
7f18b6fc2000-7f18b71c2000 ---p 00031000 08:02 2232215                    /usr/lib/xorg/modules/drivers/nouveau_drv.so
7f18b71c2000-7f18b71c3000 r--p 00031000 08:02 2232215                    /usr/lib/xorg/modules/drivers/nouveau_drv.so
7f18b71c3000-7f18b71c7000 rw-p 00032000 08:02 2232215                    /usr/lib/xorg/modules/drivers/nouveau_drv.so
7f18b71c7000-7f18b71cc000 r-xp 00000000 08:02 534404                     /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f18b71cc000-7f18b73cb000 ---p 00005000 08:02 534404                     /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f18b73cb000-7f18b73cc000 r--p 00004000 08:02 534404                     /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f18b73cc000-7f18b73cd000 rw-p 00005000 08:02 534404                     /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f18b73cd000-7f18b73ee000 r-xp 00000000 08:02 530987                     /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f18b73ee000-7f18b75ed000 ---p 00021000 08:02 530987                     /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f18b75ed000-7f18b75ee000 r--p 00020000 08:02 530987                     /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f18b75ee000-7f18b75ef000 rw-p 00021000 08:02 530987                     /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f18b75ef000-7f18b75f4000 r-xp 00000000 08:02 534560                     /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1.0.0
7f18b75f4000-7f18b77f4000 ---p 00005000 08:02 534560                     /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1.0.0
7f18b77f4000-7f18b77f5000 r--p 00005000 08:02 534560                     /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1.0.0
7f18b77f5000-7f18b77f6000 rw-p 00006000 08:02 534560                     /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1.0.0
7f18b77f6000-7f18b77f8000 r-xp 00000000 08:02 534558                     /usr/lib/x86_64-linux-gnu/libxcb-present.so.0.0.0
7f18b77f8000-7f18b79f7000 ---p 00002000 08:02 534558                     /usr/lib/x86_64-linux-gnu/libxcb-present.so.0.0.0
7f18b79f7000-7f18b79f8000 r--p 00001000 08:02 534558                     /usr/lib/x86_64-linux-gnu/libxcb-present.so.0.0.0
7f18b79f8000-7f18b79f9000 rw-p 00002000 08:02 534558                     /usr/lib/x86_64-linux-gnu/libxcb-present.so.0.0.0
7f18b79f9000-7f18b79fb000 r-xp 00000000 08:02 534554                     /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0.0.0
7f18b79fb000-7f18b7bfa000 ---p 00002000 08:02 534554                     /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0.0.0
7f18b7bfa000-7f18b7bfb000 r--p 00001000 08:02 534554                     /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0.0.0
7f18b7bfb000-7f18b7bfc000 rw-p 00002000 08:02 534554                     /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0.0.0
7f18b7bfc000-7f18b7c00000 r-xp 00000000 08:02 534543                     /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0
7f18b7c00000-7f18b7dff000 ---p 00004000 08:02 534543                     /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0
7f18b7dff000-7f18b7e00000 r--p 00003000 08:02 534543                     /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0
7f18b7e00000-7f18b7e01000 rw-p 00004000 08:02 534543                     /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0
7f18b7e01000-7f18b7e18000 r-xp 00000000 08:02 534556                     /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7f18b7e18000-7f18b8017000 ---p 00017000 08:02 534556                     /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7f18b8017000-7f18b8019000 r--p 00016000 08:02 534556                     /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7f18b8019000-7f18b801a000 rw-p 00018000 08:02 534556                     /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7f18b801a000-7f18b8156000 r-xp 00000000 08:02 530991                     /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f18b8156000-7f18b8355000 ---p 0013c000 08:02 530991                     /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f18b8355000-7f18b8357000 r--p 0013b000 08:02 530991                     /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f18b8357000-7f18b835c000 rw-p 0013d000 08:02 530991                     /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f18b835c000-7f18b835d000 rw-p 00000000 00:00 0 
7f18b835d000-7f18b835e000 r-xp 00000000 08:02 534541                     /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7f18b835e000-7f18b855d000 ---p 00001000 08:02 534541                     /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7f18b855d000-7f18b855e000 r--p 00000000 08:02 534541                     /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7f18b855e000-7f18b855f000 rw-p 00001000 08:02 534541                     /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7f18b855f000-7f18b8564000 r-xp 00000000 08:02 559997                     /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f18b8564000-7f18b8763000 ---p 00005000 08:02 559997                     /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f18b8763000-7f18b8764000 r--p 00004000 08:02 559997                     /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f18b8764000-7f18b8765000 rw-p 00005000 08:02 559997                     /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f18b8765000-7f18b8767000 r-xp 00000000 08:02 560382                     /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7f18b8767000-7f18b8966000 ---p 00002000 08:02 560382                     /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7f18b8966000-7f18b8967000 r--p 00001000 08:02 560382                     /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7f18b8967000-7f18b8968000 rw-p 00002000 08:02 560382                     /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7f18b8968000-7f18b8979000 r-xp 00000000 08:02 530998                     /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f18b8979000-7f18b8b78000 ---p 00011000 08:02 530998                     /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f18b8b78000-7f18b8b79000 r--p 00010000 08:02 530998                     /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f18b8b79000-7f18b8b7a000 rw-p 00011000 08:02 530998                     /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f18b8b7a000-7f18b8b9f000 r-xp 00000000 08:02 531500                     /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7f18b8b9f000-7f18b8d9f000 ---p 00025000 08:02 531500                     /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7f18b8d9f000-7f18b8da2000 r--p 00025000 08:02 531500                     /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7f18b8da2000-7f18b8da3000 rw-p 00028000 08:02 531500                     /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7f18b8da3000-7f18b8da4000 rw-p 00000000 00:00 0 
7f18b8da4000-7f18b8dca000 r-xp 00000000 08:02 393404                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f18b8dca000-7f18b8fc9000 ---p 00026000 08:02 393404                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f18b8fc9000-7f18b8fcc000 r--p 00025000 08:02 393404                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f18b8fcc000-7f18b8fcd000 rw-p 00028000 08:02 393404                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7f18b8fcd000-7f18b9063000 r-xp 00000000 08:02 531019                     /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
7f18b9063000-7f18b9262000 ---p 00096000 08:02 531019                     /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
7f18b9262000-7f18b9265000 r--p 00095000 08:02 531019                     /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
7f18b9265000-7f18b9266000 rw-p 00098000 08:02 531019                     /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
7f18b9266000-7f18b9267000 rw-p 00000000 00:00 0 
7f18b9267000-7f18b92aa000 r-xp 00000000 08:02 2229456                    /usr/lib/xorg/modules/extensions/libglx.so
7f18b92aa000-7f18b94a9000 ---p 00043000 08:02 2229456                    /usr/lib/xorg/modules/extensions/libglx.so
7f18b94a9000-7f18b94ab000 r--p 00042000 08:02 2229456                    /usr/lib/xorg/modules/extensions/libglx.so
7f18b94ab000-7f18b94af000 rw-p 00044000 08:02 2229456                    /usr/lib/xorg/modules/extensions/libglx.so
7f18b94af000-7f18b94c5000 r-xp 00000000 08:02 393444                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f18b94c5000-7f18b96c4000 ---p 00016000 08:02 393444                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f18b96c4000-7f18b96c5000 rw-p 00015000 08:02 393444                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f18b96c5000-7f18b96eb000 r-xp 00000000 08:02 393438                     /lib/x86_64-linux-gnu/libpng12.so.0.50.0
7f18b96eb000-7f18b98ea000 ---p 00026000 08:02 393438                     /lib/x86_64-linux-gnu/libpng12.so.0.50.0
7f18b98ea000-7f18b98eb000 r--p 00025000 08:02 393438                     /lib/x86_64-linux-gnu/libpng12.so.0.50.0
7f18b98eb000-7f18b98ec000 rw-p 00026000 08:02 393438                     /lib/x86_64-linux-gnu/libpng12.so.0.50.0
7f18b98ec000-7f18b98f2000 r-xp 00000000 08:02 528151                     /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7f18b98f2000-7f18b9af1000 ---p 00006000 08:02 528151                     /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7f18b9af1000-7f18b9af2000 r--p 00005000 08:02 528151                     /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7f18b9af2000-7f18b9af4000 rw-p 00006000 08:02 528151                     /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7f18b9af4000-7f18b9b03000 r-xp 00000000 08:02 393256                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f18b9b03000-7f18b9d02000 ---p 0000f000 08:02 393256                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f18b9d02000-7f18b9d03000 r--p 0000e000 08:02 393256                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f18b9d03000-7f18b9d04000 rw-p 0000f000 08:02 393256                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7f18b9d04000-7f18b9da7000 r-xp 00000000 08:02 530811                     /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
7f18b9da7000-7f18b9fa7000 ---p 000a3000 08:02 530811                     /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
7f18b9fa7000-7f18b9fad000 r--p 000a3000 08:02 530811                     /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
7f18b9fad000-7f18b9fae000 rw-p 000a9000 08:02 530811                     /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
7f18b9fae000-7f18b9fc8000 r-xp 00000000 08:02 393316                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f18b9fc8000-7f18ba1c7000 ---p 0001a000 08:02 393316                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f18ba1c7000-7f18ba1c8000 r--p 00019000 08:02 393316                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f18ba1c8000-7f18ba1c9000 rw-p 0001a000 08:02 393316                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7f18ba1c9000-7f18ba1da000 r-xp 00000000 08:02 393327                     /lib/x86_64-linux-gnu/libgpg-error.so.0.13.0
7f18ba1da000-7f18ba3d9000 ---p 00011000 08:02 393327                     /lib/x86_64-linux-gnu/libgpg-error.so.0.13.0
7f18ba3d9000-7f18ba3da000 r--p 00010000 08:02 393327                     /lib/x86_64-linux-gnu/libgpg-error.so.0.13.0
7f18ba3da000-7f18ba3db000 rw-p 00011000 08:02 393327                     /lib/x86_64-linux-gnu/libgpg-error.so.0.13.0
7f18ba3db000-7f18ba447000 r-xp 00000000 08:02 393252                     /lib/x86_64-linux-gnu/libpcre.so.3.13.1
7f18ba447000-7f18ba647000 ---p 0006c000 08:02 393252                     /lib/x86_64-linux-gnu/libpcre.so.3.13.1
7f18ba647000-7f18ba648000 r--p 0006c000 08:02 393252                     /lib/x86_64-linux-gnu/libpcre.so.3.13.1
7f18ba648000-7f18ba649000 rw-p 0006d000 08:02 393252                     /lib/x86_64-linux-gnu/libpcre.so.3.13.1
7f18ba649000-7f18ba661000 r-xp 00000000 08:02 393707                     /lib/x86_64-linux-gnu/libpthread-2.19.so
7f18ba661000-7f18ba860000 ---p 00018000 08:02 393707                     /lib/x86_64-linux-gnu/libpthread-2.19.so
7f18ba860000-7f18ba861000 r--p 00017000 08:02 393707                     /lib/x86_64-linux-gnu/libpthread-2.19.so
7f18ba861000-7f18ba862000 rw-p 00018000 08:02 393707                     /lib/x86_64-linux-gnu/libpthread-2.19.so
7f18ba862000-7f18ba866000 rw-p 00000000 00:00 0 
7f18ba866000-7f18ba86d000 r-xp 00000000 08:02 393708                     /lib/x86_64-linux-gnu/librt-2.19.so
7f18ba86d000-7f18baa6c000 ---p 00007000 08:02 393708                     /lib/x86_64-linux-gnu/librt-2.19.so
7f18baa6c000-7f18baa6d000 r--p 00006000 08:02 393708                     /lib/x86_64-linux-gnu/librt-2.19.so
7f18baa6d000-7f18baa6e000 rw-p 00007000 08:02 393708                     /lib/x86_64-linux-gnu/librt-2.19.so
7f18baa6e000-7f18bac0d000 r-xp 00000000 08:02 393714                     /lib/x86_64-linux-gnu/libc-2.19.so
7f18bac0d000-7f18bae0d000 ---p 0019f000 08:02 393714                     /lib/x86_64-linux-gnu/libc-2.19.so
7f18bae0d000-7f18bae11000 r--p 0019f000 08:02 393714                     /lib/x86_64-linux-gnu/libc-2.19.so
7f18bae11000-7f18bae13000 rw-p 001a3000 08:02 393714                     /lib/x86_64-linux-gnu/libc-2.19.so
7f18bae13000-7f18bae17000 rw-p 00000000 00:00 0 
7f18bae17000-7f18baf17000 r-xp 00000000 08:02 393713                     /lib/x86_64-linux-gnu/libm-2.19.so
7f18baf17000-7f18bb116000 ---p 00100000 08:02 393713                     /lib/x86_64-linux-gnu/libm-2.19.so
7f18bb116000-7f18bb117000 r--p 000ff000 08:02 393713                     /lib/x86_64-linux-gnu/libm-2.19.so
7f18bb117000-7f18bb118000 rw-p 00100000 08:02 393713                     /lib/x86_64-linux-gnu/libm-2.19.so
7f18bb118000-7f18bb132000 r-xp 00000000 08:02 393260                     /lib/x86_64-linux-gnu/libaudit.so.1.0.0
7f18bb132000-7f18bb331000 ---p 0001a000 08:02 393260                     /lib/x86_64-linux-gnu/libaudit.so.1.0.0
7f18bb331000-7f18bb333000 r--p 00019000 08:02 393260                     /lib/x86_64-linux-gnu/libaudit.so.1.0.0
7f18bb333000-7f18bb334000 rw-p 0001b000 08:02 393260                     /lib/x86_64-linux-gnu/libaudit.so.1.0.0
7f18bb334000-7f18bb33e000 rw-p 00000000 00:00 0 
7f18bb33e000-7f18bb343000 r-xp 00000000 08:02 529063                     /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7f18bb343000-7f18bb542000 ---p 00005000 08:02 529063                     /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7f18bb542000-7f18bb543000 rw-p 00004000 08:02 529063                     /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7f18bb543000-7f18bb544000 r-xp 00000000 08:02 534562                     /usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0
7f18bb544000-7f18bb743000 ---p 00001000 08:02 534562                     /usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0
7f18bb743000-7f18bb744000 r--p 00000000 08:02 534562                     /usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0
7f18bb744000-7f18bb745000 rw-p 00001000 08:02 534562                     /usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0
7f18bb745000-7f18bb748000 r-xp 00000000 08:02 530983                     /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f18bb748000-7f18bb947000 ---p 00003000 08:02 530983                     /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f18bb947000-7f18bb948000 r--p 00002000 08:02 530983                     /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f18bb948000-7f18bb949000 rw-p 00003000 08:02 530983                     /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f18bb949000-7f18bb977000 r-xp 00000000 08:02 529065                     /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7f18bb977000-7f18bbb76000 ---p 0002e000 08:02 529065                     /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7f18bbb76000-7f18bbb77000 r--p 0002d000 08:02 529065                     /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7f18bbb77000-7f18bbb79000 rw-p 0002e000 08:02 529065                     /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7f18bbb79000-7f18bbc1e000 r-xp 00000000 08:02 530981                     /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.32.6
7f18bbc1e000-7f18bbe1d000 ---p 000a5000 08:02 530981                     /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.32.6
7f18bbe1d000-7f18bbe25000 r--p 000a4000 08:02 530981                     /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.32.6
7f18bbe25000-7f18bbe26000 rw-p 000ac000 08:02 530981                     /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.32.6
7f18bbe26000-7f18bbe32000 r-xp 00000000 08:02 534514                     /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f18bbe32000-7f18bc031000 ---p 0000c000 08:02 534514                     /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f18bc031000-7f18bc032000 r--p 0000b000 08:02 534514                     /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f18bc032000-7f18bc033000 rw-p 0000c000 08:02 534514                     /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f18bc033000-7f18bc03b000 r-xp 00000000 08:02 528200                     /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.1
7f18bc03b000-7f18bc23b000 ---p 00008000 08:02 528200                     /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.1
7f18bc23b000-7f18bc23c000 r--p 00008000 08:02 528200                     /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.1
7f18bc23c000-7f18bc23d000 rw-p 00009000 08:02 528200                     /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.1
7f18bc23d000-7f18bc240000 r-xp 00000000 08:02 393673                     /lib/x86_64-linux-gnu/libdl-2.19.so
7f18bc240000-7f18bc43f000 ---p 00003000 08:02 393673                     /lib/x86_64-linux-gnu/libdl-2.19.so
7f18bc43f000-7f18bc440000 r--p 00002000 08:02 393673                     /lib/x86_64-linux-gnu/libdl-2.19.so
7f18bc440000-7f18bc441000 rw-p 00003000 08:02 393673                     /lib/x86_64-linux-gnu/libdl-2.19.so
7f18bc441000-7f18bc518000 r-xp 00000000 08:02 393392                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.2
7f18bc518000-7f18bc718000 ---p 000d7000 08:02 393392                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.2
7f18bc718000-7f18bc719000 r--p 000d7000 08:02 393392                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.2
7f18bc719000-7f18bc722000 rw-p 000d8000 08:02 393392                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.2
7f18bc722000-7f18bc743000 r-xp 00000000 08:02 393315                     /lib/x86_64-linux-gnu/libselinux.so.1
7f18bc743000-7f18bc943000 ---p 00021000 08:02 393315                     /lib/x86_64-linux-gnu/libselinux.so.1
7f18bc943000-7f18bc944000 r--p 00021000 08:02 393315                     /lib/x86_64-linux-gnu/libselinux.so.1
7f18bc944000-7f18bc945000 rw-p 00022000 08:02 393315                     /lib/x86_64-linux-gnu/libselinux.so.1
7f18bc945000-7f18bc947000 rw-p 00000000 00:00 0 
7f18bc947000-7f18bc955000 r-xp 00000000 08:02 393787                     /lib/x86_64-linux-gnu/libudev.so.1.5.0
7f18bc955000-7f18bcb54000 ---p 0000e000 08:02 393787                     /lib/x86_64-linux-gnu/libudev.so.1.5.0
7f18bcb54000-7f18bcb55000 r--p 0000d000 08:02 393787                     /lib/x86_64-linux-gnu/libudev.so.1.5.0
7f18bcb55000-7f18bcb56000 rw-p 0000e000 08:02 393787                     /lib/x86_64-linux-gnu/libudev.so.1.5.0
7f18bcb56000-7f18bcb76000 r-xp 00000000 08:02 393254                     /lib/x86_64-linux-gnu/ld-2.19.so
7f18bcb9b000-7f18bcbfb000 rw-s 00000000 00:05 76513280                   /SYSV00000000 (deleted)
7f18bcbfb000-7f18bcc03000 rw-s 10085e000 00:06 14729                     /dev/dri/card0
7f18bcc03000-7f18bcc0b000 rw-s 100856000 00:06 14729                     /dev/dri/card0
7f18bcc0b000-7f18bcc13000 rw-s 10084e000 00:06 14729                     /dev/dri/card0
7f18bcc13000-7f18bcc17000 rw-s 10082f000 00:06 14729                     /dev/dri/card0
7f18bcc17000-7f18bcc1b000 rw-s 10082b000 00:06 14729                     /dev/dri/card0
7f18bcc1b000-7f18bcc9b000 rw-s 10104c000 00:06 14729                     /dev/dri/card0
7f18bcc9b000-7f18bcce7000 rw-p 00000000 00:00 0 
7f18bcce7000-7f18bccef000 rw-s 100899000 00:06 14729                     /dev/dri/card0
7f18bccef000-7f18bcd47000 rw-p 00000000 00:00 0 
7f18bcd4a000-7f18bcd4b000 rw-s 10124c000 00:06 14729                     /dev/dri/card0
7f18bcd4b000-7f18bcd53000 rw-s 100846000 00:06 14729                     /dev/dri/card0
7f18bcd53000-7f18bcd73000 rw-s 100866000 00:06 14729                     /dev/dri/card0
7f18bcd73000-7f18bcd76000 rw-p 00000000 00:00 0 
7f18bcd76000-7f18bcd77000 r--p 00020000 08:02 393254                     /lib/x86_64-linux-gnu/ld-2.19.so
7f18bcd77000-7f18bcd78000 rw-p 00021000 08:02 393254                     /lib/x86_64-linux-gnu/ld-2.19.so
7f18bcd78000-7f18bcd79000 rw-p 00000000 00:00 0 
7f18bcd79000-7f18bcfb4000 r-xp 00000000 08:02 533895                     /usr/bin/Xorg
7f18bd1b4000-7f18bd1b6000 r--p 0023b000 08:02 533895                     /usr/bin/Xorg
7f18bd1b6000-7f18bd1c3000 rw-p 0023d000 08:02 533895                     /usr/bin/Xorg
7f18bd1c3000-7f18bd1d4000 rw-p 00000000 00:00 0 
7f18bd52b000-7f18bfbaa000 rw-p 00000000 00:00 0                          [heap]
7fff59fc8000-7fff59fe9000 rw-p 00000000 00:00 0                          [stack]
7fff59fec000-7fff59fee000 r--p 00000000 00:00 0                          [vvar]
7fff59fee000-7fff59ff0000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

视频RAM(VRAM)比RAM 快得多 - edmz
2
VRAM在GPU访问时更快,但是在CPU访问时可能会更慢(因为PCI-e总线带宽有限)。 - Basile Starynkevitch
GPU内存是通过mmap(2)映射的,这意味着它在虚拟内存中,而不是物理内存中。所谓虚拟内存,是指可以进行交换吗?我知道在CUDA中我们可以有非分页内存,也就是固定内存。不知道AMD驱动程序是否分配固定内存。 - Akg
1
通过虚拟内存,他的意思是在CPU端没有实际物理内存保留。它只是MMU中的一个条目,所以您可以访问比物理地址空间大得多的虚拟地址空间。虚拟和可交换是正交概念。话虽如此,如果您使用CL_MEM_ALLOC_HOST_PTR进行分配,则已知AMD驱动程序会固定分配的页面,这会增加数据传输性能,但会对VM施加更大的压力,并可能导致分配失败。 - user703016
“但我认为,拥有比RAM更多GPU内存的计算机是极度失衡的。” - @BasileStarynkevitch 嗯..我不知道任何这样的情况/条件。您可以再解释一下吗?谢谢。 - Akg
我添加了一句话来解释我的直觉。 - Basile Starynkevitch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接