每个分配大小和总最大大小的 AMD OpenCL 2.0 SVM(共享虚拟内存)
AMD OpenCL 2.0 SVM(Shared Virtual Memory) per allocation size and total maximum size
有谁知道使用 clSVMAlloc() 有大小限制吗?当 clSVMAlloc() 分配的内存总大小 <120MB 时,我的代码运行正常,但当 >120MB 时,代码运行失败(内核结果不正确)。谢谢。
我遇到了类似的问题,更新到最新的 Catalyst (15.7) 解决了这个问题。 Link
同时更新到 AMD APP SDK v3.0 的最终版本,以防您仍处于 Beta 阶段。 Link
在 Ubuntu 14.04
上重新安装驱动程序
从 http://support.amd.com/en-us/download/desktop?os=Ubuntu%20x86%2064
下载驱动程序:fglrx-core_15.200-0ubuntu1_amd64_ub_14.01.deb
和 fglrx_15.200-0ubuntu1_amd64_ub_14.01.deb
删除旧驱动程序:
sudo dpkg -r fglrx-dev fglrx-amdcccle fglrx fglrx-core
sudo dpkg --purge fglrx-dev fglrx-amdcccle fglrx fglrx-core
reboot
安装新驱动程序:
sudo dpkg -i fglrx-core_15.200-0ubuntu1_amd64_ub_14.01.deb
sudo dpkg -i fglrx_15.200-0ubuntu1_amd64_ub_14.01.deb
reboot
验证是否正确安装了驱动程序:
dmesg | grep fglrx | grep module
在 Ubuntu 14.04
上重新安装 AMD APP SDK
- 安装新的 SDK
- 确保这些配置中的所有设置都正确 files/locations:
/etc/ld.so.conf.d/amdapp_x86.conf
、/etc/ld.so.conf.d/amdapp_x86_64.conf
、/etc/OpenCL/vendors
- 手动删除旧的 SDK
有谁知道使用 clSVMAlloc() 有大小限制吗?当 clSVMAlloc() 分配的内存总大小 <120MB 时,我的代码运行正常,但当 >120MB 时,代码运行失败(内核结果不正确)。谢谢。
我遇到了类似的问题,更新到最新的 Catalyst (15.7) 解决了这个问题。 Link
同时更新到 AMD APP SDK v3.0 的最终版本,以防您仍处于 Beta 阶段。 Link
在 Ubuntu 14.04
上重新安装驱动程序从 http://support.amd.com/en-us/download/desktop?os=Ubuntu%20x86%2064
下载驱动程序:fglrx-core_15.200-0ubuntu1_amd64_ub_14.01.deb
和 fglrx_15.200-0ubuntu1_amd64_ub_14.01.deb
删除旧驱动程序:
sudo dpkg -r fglrx-dev fglrx-amdcccle fglrx fglrx-core
sudo dpkg --purge fglrx-dev fglrx-amdcccle fglrx fglrx-core
reboot
安装新驱动程序:
sudo dpkg -i fglrx-core_15.200-0ubuntu1_amd64_ub_14.01.deb
sudo dpkg -i fglrx_15.200-0ubuntu1_amd64_ub_14.01.deb
reboot
验证是否正确安装了驱动程序:
dmesg | grep fglrx | grep module
在 Ubuntu 14.04
上重新安装 AMD APP SDK- 安装新的 SDK
- 确保这些配置中的所有设置都正确 files/locations:
/etc/ld.so.conf.d/amdapp_x86.conf
、/etc/ld.so.conf.d/amdapp_x86_64.conf
、/etc/OpenCL/vendors
- 手动删除旧的 SDK