我目前正在研究嵌入Vivante GC2100 GPU的i.MX6.Q平臺。在Vivante提供的(非常簡短的)技術規範中,它說我有4個着色器核心,如果我是矢量化的,我會得到16個(http://www.vivantecorp.com/index.php/en/technology/gpgpu.html)。OpenCL計算單元信息
當我直接恢復我的GPU,它說我有4個計算單元和優選的載體寬度爲4
這是否意味着,如果我向量化或GPU會自動檢測不OpenCL的相關信息? 它會始終正確地使用他所能夠使用的所有內核(在我的程序的當前版本中我沒有開發矢量化),並且有辦法確定它嗎?
如果我不使用對齊的數據,我是否還需要矢量化才能使GPU功能受益,還是我可以繼續使用我的GPU而不進行矢量化?我目前正在修改OpenCL的i.MX6.Q,所以我將矢量化我自己能夠看到的所有內容,但是如果你們知道一些關於它的理論,我會接受它!
巴蒂斯特
好的。我懂了。事情是我的程序由多個操作組成,可以看作是兩個FIR模式(檢測像素周圍區域的最小/最大值並保存),IIR模式(線程需要先前的計算才能開始執行)以及經典的gpu操作(數據對齊)。所以我看到我可以使用矢量化的地方,但我認爲我有內核,我無法做到這一點。我會手動編程它我認爲我不認爲我的編譯器能夠看到它並進行矢量化(特別是對於FIR/IIR操作)。 – baptiste
難道你不能將它們作爲三個獨立的內核而不是一個來實現嗎? – Ani
這就是我所做的:) – baptiste