Qualcomm正在讀取Adreno GPU作爲SOC我想出了一個問題,它們的內存都相同嗎?Adreno GPU的內存模型
如果是,是否有像CUDA的統一虛擬尋址(UVA)那樣的虛擬尋址?
另外,如果情況並非如此,那麼CUDA 6的統一內存模型在這裏支持了嗎?
Qualcomm正在讀取Adreno GPU作爲SOC我想出了一個問題,它們的內存都相同嗎?Adreno GPU的內存模型
如果是,是否有像CUDA的統一虛擬尋址(UVA)那樣的虛擬尋址?
另外,如果情況並非如此,那麼CUDA 6的統一內存模型在這裏支持了嗎?
我認爲最好是因爲它含糊不清而改寫了你的問題。據瞭解你的問題,你想知道Adreno GPU是否有統一的內存支持和統一的虛擬尋址支持。
從基礎開始,CUDA是Nvidia唯一的範例,Adreno使用OpenCL代替。 OpenCL 2.0版規範支持名稱共享虛擬內存(SVM)的統一內存。說明書中的第3.3.3節解釋了它是如何工作的以及約束條件https://www.khronos.org/registry/OpenCL/specs/opencl-2.0.pdf。我沒有關於CUDA的UVA和統一內存模型如何工作的廣泛知識,但是在OpenCL中,您具有不同的功能,從粗粒度支持到細粒度系統支持。您需要檢查Adreno GPU的白皮書,瞭解您支持哪一種。
儘管如此,根據Adreno維基百科頁面https://en.wikipedia.org/wiki/Adreno,第5代Adreno GPU具有完整的OpenCL 2.0支持,這應該至少支持粗粒SVM。較舊的Adreno GPU不支持共享任何地址空間指針,因此您需要在CPU和GPU地址空間之間複製數據或使用固定內存。