2010-04-23 43 views
11

我有一個問題獨家計算模式與NVidia + OpenCL。獨家計算模式與OpenCL + NVidia

我可以在nvidia-gpu上用nvidia-smi設置獨佔計算模式(來自cuda編程指南3.0的第74頁)。這意味着,只有一個程序可以在GPU上計算。

cuda運行時間自動調度比應用程序。

但我對於這種情況下的OpenCL的程序有問題:與在GPU 如果一個應用程序運行時有設置好的獨特的計算方式和第二的OpenCL程序調用clGetDeviceInfo(...,CL_DEVICE_AVAILABLE,...)相同的GPU是結果== CL_TRUE。之後,如果opencl-app嘗試在此設備上創建上下文,則會崩潰正在運行的應用程序(兩者)。

我怎樣才能找到OpenCL的可用GPU?

謝謝。

+0

這可能是OpenCL實現中的一個錯誤。嘗試與nVidia聯繫,或在nVidia論壇中發佈問題,nVidia開發者可能會將其提交。 – shoosh 2010-05-04 20:47:07

回答

1

clGetDeviceIds返回設備及其設備ID的數量。然後你可以檢查每個設備是否可用。 Iam不知道它是否能解決崩潰。

0

我有一個類似的問題,我想在列表中找到最好的OpenCL設備。我找不到解決方案,所以我自己寫了一個解決方案。它會嘗試在設備上創建一個上下文。如果它不能,它會嘗試下一個。

它還支持多個OpenCL平臺。您可以選擇nvidia(僅限gpu),amd(gpu & cpu),intel(cpu)和Apple(gpu & cpu)。

你可以找到它在github上:https://github.com/nbigaouette/oclutils/

我還在尋找一個更好的鎖定機制雖然。