最近我需要做一些實驗,這些實驗需要在AMD硬件上運行多個不同的內核。但在開始編碼之前我有幾個問題,因此我真的需要你的幫助。並行內核執行和OpenCL設備分區
首先,我不太確定AMD硬件是否可以在一臺設備上支持併發內核執行。因爲當我參考OpenCL規範時,他們說命令隊列可以按照有序和無序的方式創建。但是我不「亂序」是指「併發執行」。有沒有人知道這方面的信息?我的硬件是AMD APU A8 3870k。如果此處理器不支持,其他AMD產品是否支持?第二,我知道有一個擴展名「設備分裂」,可以用來將一個設備分割爲兩個設備。這現在只適用於CPU。但是在OpenCL規範中,我看到了一些東西,即「clcreatesubdevice」,它也被用來將一個設備分成兩部分?所以我的問題是這兩種技術有什麼區別?我的理解是:設備的分裂只能用在CPU上,clcreatesubdevice可以用在CPU和GPU上。那是對的嗎?
謝謝你的回覆!
'clCreateSubDevice' * *設備分裂。你的OpenCL實現(無論是AMD的GPU實現還是它的CPU實現)和設備只需要支持它(OpenCL 1.2,我認爲這是強制性的)。但對於CPU和GPU來說,這是相同的功能(嗯,這就是OpenCL的全部功能,對於衆多不同的硬件設備使用相同的接口)。 –