前段時間,把市面上手機GPU OpenCL支持情況做了一個總結。總結如下:
目前,手機 GPU 市面有四個公司產品:Qualcomm, Imagination Technologies,ARM, Vivante,分別對應的產品如下: (所有表格均是按照產品上市時間先後排列)
表1 Qualcomm GPU
產品型號 | OpenCL支持 |
Adreno 200系列 | 不支持 |
Adreno 300 系列 | √(OpenCL 1.1) |
Adreno 400 系列 | √(OpenCL 1.1) |
表2 Imagination Technologies GPU
產品型號 | OpenCL支持 |
PowerVR Series 5 | 不支持 |
PowerVR Series 5XT | √(OpenCL 1.1) SGX543, SGX544, SGX554 |
PowerVR Series 6 | √(OpenCL 1.2) |
PowerVR Series 6XE | √(OpenCL 1.2) |
PowerVR Series 6XT | √(OpenCL 1.2) |
對於PowerVR GPU的手機,OpenCL的庫在/system/vendor/lib/libPVROCL.so
表3 ARM GPU
產品型號 | OpenCL支持 |
ARM Mali400MP | 不支持 |
ARM Mali450MP | 不支持 |
ARM Mali Series 600 | √(Full Profile OpenCL1.1) |
ARM Mali Series 700 | √(Full Profile OpenCL1.1) |
至於Vivante GPU,官網上號稱是都支持OpenCL的,市面上採用它的GPU手機太少了,目前我只知道華爲的K3V2芯片,不過在華爲P6測試的結果系統沒有自帶OpenCL庫。自己也沒去折騰Vivante GPU的SDK,所以具體情況不是很清楚。
ps:在我的手機上對高斯濾波對比過RendScript與 OpenCL,採用同樣的策略,RenderScript比OpenCL慢了很多。從性能來說,放棄了RendScript的方案