2016-08-05 28 views
0

我即將進入計算的下一階段,將計算移至GPU。不幸的是,我在我的環境中設置OpenCL的成功率很低。我希望我能夠獲得一些關於OpenCL的實現方式以及如何避免安裝時遇到的問題的特定方向。方向在Linux上安裝OpenCL Mint Dell 9550

我的機器: Linux Mint的17.3 戴爾XPS 15 9550了Nvidia GTX 960M圖形芯片

一些具體: 我一直無法找到任何圖形驅動程序與此硬件比Nvidia-其他工作在這個PPA發現352版本: https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

每隔一個我嘗試磚機。我已經重新安裝了Mint更多的時間比我能找到這一個司機。請記住,我必須使用此配置才能使我的機器正常工作。

我試圖從他們的網站(https://developer.nvidia.com/cuda-downloads)安裝Nvidia的CUDA工具包,由於某種原因,安裝覆蓋了我的Nvidia-352驅動程序,並再次堵塞了機器。

在這一點上我不知道哪個實現無論如何是正確的。我不想嘗試另一種方式,併發生相同的事情。

一些具體問題:

  1. 是否OpenCL的每一個執行斷言本身在當前安裝的驅動程序?
  2. 如果確實如此,我該如何指導我的機器使用正確的機器?
  3. 哪種實現適合我的機器?
  4. 你能想到我可能會感興趣的任何資源或鏈接,讓我繼續前進嗎?特別是一些安裝說明?

感謝,

慢性

回答

0

免責聲明:這一切是基於我與Ubuntu 15.10的經驗,但希望薄荷也差不太多。

是否每個OpenCL安裝都會覆蓋其他?

如果您要安裝兩個不同的供應商的OpenCL實現,則不要,它們不應該相互覆蓋。例如,我安裝並運行了英偉達,英特爾CPU,POCL和Beignet(英特爾GPU)平臺。唯一需要注意的是,Intel CPU運行時覆蓋了libOpenCL.so*文件,導致clinfo崩潰,因爲它需要Intel CPU運行時決定刪除的libOpenCL.so.1。重新安裝包ocl-icd-opencl-dev修復了這個問題,您也可以使libOpenCL.so.1成爲符合Intel CPU運行時留下的.so文件的符號鏈接。

如果您嘗試爲同一個平臺安裝兩個版本,就像您嘗試的那樣,那麼您安裝的最後一個將覆蓋前一個。在你的情況下,請記住,CUDA工具包還包括GPU驅動程序。我暫時還沒有玩過CUDA工具包,也許有一種選擇只安裝工具包而不是驅動程序,但由於每個工具包都需要一個最低版本的驅動程序,所以您必須選擇一個可用的工具包版本與您可以安裝的驅動程序版本。

在Ubuntu上,有一個nvidia-cuda-toolkit包,你可以sudo apt-get install。 Id不會要求更改我的驅動程序,希望它能爲您工作。我不知道這個安裝的工具包的版本是什麼。

哪個實現正確

如果你只希望做的OpenCL開發然後安裝nvidia-352包,爲你的工作,以及安裝ocl-icd-opencl-dev。該軟件包安裝了ocl-icd-libopenclopencl-headers軟件包,並提供了頭文件和libOpenCL.so(ICD加載程序)。您還需要sudo apt-get install nvidia-opencl-icd-352,因爲它爲Nvidia GPU提供OpenCL運行時。如果你還想做CUDA開發,那麼你需要這個工具包。

請注意,安裝其中一個CPU運行時間,例如, POCL,除了Nvidia運行時。我發現這對於檢測內核中的錯誤非常有用 - 內核在我的Nvidia GPU上大部分時間工作,但在POCL上一直失敗。這是一個競賽條件。

有用的鏈接

對不起,沒有最新的安裝說明。但是,每個供應商提供的使用OpenCL運行時(Nvidia除外)的說明似乎對我來說已經足夠好了。

下面是一些較舊的指令: