【问题标题】:Install OpenCL(AMD SDK kit) on linux without ROOT privilege在没有ROOT权限的linux上安装OpenCL(AMD SDK kit)
【发布时间】:2012-05-30 14:20:32
【问题描述】:

我正在尝试在 linux 上安装 OpenCL(AMD),但我卡在最后一步(安装 ICD)

似乎 ICDHAS 安装在 /etc/OpenCL/vendor,但我没有计算机的 root 访问权限。

有什么方法可以在不安装 ICD 的情况下使 OpenCL 工作? (或者可能通过环境变量添加 ICD 文件的搜索路径?)

对于像我们这样的人来说,硬编码 ICD 文件路径似乎真的很不方便。

【问题讨论】:

  • 安装需要与操作系统紧密集成的低级驱动程序(如 OpenCL)通常需要管理员权限。英特尔的 OpenCL SDK for Linux 也需要管理员权限才能安装。

标签: linux installation gpu opencl amd-gpu


【解决方案1】:

将 ICD 文件放在 /some/path/icd 中,然后像这样导出路径:

export OPENCL_VENDOR_PATH=/some/path/icd

它至少在以前的版本中可以工作。如果他们改变它,我会感到惊讶。

【讨论】:

  • 为我工作。此外,为了让其他系统安装平台(如 NVIDIA 或 Intel)可见,您可以在 /some/path/icd 中放置指向其每个 .icd 文件的符号链接。
【解决方案2】:

这里是如何在没有管理员权限的情况下进行 AMD OpenCL SDK 的“用户”或“本地”安装的草图。第 9 步还提供了一种使用 AMD OpenCL 平台以及在系统范围内安装的选定平台的方法。

安装目录/local/install/path和当前SDK版本只需修改即可。

  1. 下载 AMD OpenCL SDK 64 位。

  2. $ tar -xvzf AMD-APP-SDK-v2.8-RC-lnx64.tgz

  3. $ tar -xvzf icd-registration.tgz

  4. $ cd AMD-APP-SDK-v2.8-RC-lnx64

  5. $ mkdir /local/install/path

  6. $ cp -r lib /local/install/path

  7. $ cp -r include /local/install/path

  8. $ cp -r ../etc /local/install/path

  9. 可选:为所需的系统安装平台创建符号链接: $ ln -s /etc/OpenCL/vendors/nvidia.icd /local/install/path/etc/vendors/nvidia.icd

  10. $ export OPENCL_VENDOR_PATH=/local/install/path/etc/vendors

  11. $ export LD_LIBRARY_PATH=/local/install/path/lib/x86_64:$LD_LIBRARY_PATH

  12. $ cc -I/local/install/path/include -L/local/install/path/lib/x86_64 -lOpenCL demo.c

  13. $ ./a.out

【讨论】:

    【解决方案3】:

    只是对此的更新,因为我突然发现自己(再次)遇到了同样的问题。我不得不禁用显然在非 root 运行下崩溃的有缺陷的 Mesa icd。令人沮丧的是,在列出每个平台时更多的是 API 处理错误的问题,而不是权限或 clinfo 的错误。确保禁用每个平台 icd 以隔离哪个平台有问题。希望这对以后的人有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 2021-07-06
      • 1970-01-01
      • 2015-09-01
      • 2017-04-12
      • 1970-01-01
      • 2018-10-10
      相关资源
      最近更新 更多