每个分配大小和总最大大小的 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.debfglrx_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
  1. 安装新的 SDK
  2. 确保这些配置中的所有设置都正确 files/locations:/etc/ld.so.conf.d/amdapp_x86.conf/etc/ld.so.conf.d/amdapp_x86_64.conf/etc/OpenCL/vendors
  3. 手动删除旧的 SDK