2012-05-24 64 views
4

我試圖在Linux上安裝的OpenCL(AMD),但我被困在最後一步(安裝ICD)安裝的OpenCL在Linux(AMD SDK工具包)無需root權限

好像ICD HAS要安裝在/ etc/OpenCL/vendor上,但我沒有root權限訪問計算機。

有沒有辦法讓OpenCL在沒有安裝ICD的情況下工作? (或者可能通過環境變量添加ICD文件的搜索路徑?)

對ICD文件路徑硬編碼時,像我們這樣的人看起來真的很不方便。

+1

安裝需要與OS緊密集成的OpenCL等低級驅動程序通常需要管理員權限。英特爾的OpenCL SDK for Linux也需要管理員訪問才能進行安裝。 – vocaro

回答

4

把ICD-文件/一些/路徑/ ICD然後導出路徑,像這樣:

export OPENCL_VENDOR_PATH=/some/path/icd 

它曾經至少在以前的版本工作。如果他們改變了我會感到驚訝。

+1

爲我工作。此外,爲了能夠查看NVIDIA或Intel等其他系統安裝的平臺,您可以在'/ some/path/icd'中爲每個.icd文件添加一個符號鏈接。 – NoahR

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

1

上這只是一個更新,因爲我突然發現有同樣的問題(再次)自己。我不得不禁用在非root運行下崩潰的錯誤Mesa icd。令人沮喪的是,更多的API處理錯誤的問題,同時列出每個平臺,而不是權限或clinfo的錯誤。確保禁用每個平臺icd來隔離哪個問題。希望以後能幫助別人。

相關問題