web-dev-qa-db-ja.com

AndroidはOpenCLをサポートしていますか?

最近、Android OpenCLを使用して並列コンピューティングアプリケーションを開発します。私の知る限り、Androidシステムには「libopencl.so」が含まれていませんが、 AndroidでのOpenCL開発を示すWebまたはブログはまだいくつかあります。Android OpenCLをサポートしていますか?サポートしている場合、AndroidでOpenCLを開発するにはどうすればよいですか?

23
liu jie

2016年5月20日更新

arm64-v8a ABIを備えたすべてのデバイスの場合、OpenCLライブラリはlib64フォルダーにも配置される場合があります。

OpenCLライブラリを確認するときは、対応するlib64フォルダーも確認してください(アプリの最初のABIとしてarm64-v8aを使用したい場合は、最初にlib64フォルダーを確認することをお勧めします)。

例:/system/vendor/lib64/libOpenCL.so


元の答え:

2014年以降、OpenCLをサポートする電話の数は増えています。

OpenCLライブラリの場所は次のとおりです。

Qualcomm Adreno:

/system/vendor/lib/libOpenCL.so
or /system/lib/libOpenCL.so (older devices)

ARMマリ:

/system/vendor/lib/egl/libGLES_mali.so
or /system/lib/egl/libGLES_mali.so

PowerVR:

/system/vendor/lib/libPVROCL.so

OpenCL-Z Android を使用して、AndroidデバイスでOpenCLの使用可能な機能を確認できます。

14
Robert Wang

厳密に言うと、AndroidはOpenCLをサポートしていません。これはGoogleの(悪い)選択です。ただし、Android Kirtanが提供するリンクから、QualcommのAdreno GPUであると思われる最も単純なもの(つまり、携帯電話にはすでにOpenCLが搭載されている)であるSonyルートをお勧めします。

私が知っている唯一のImagination OpenCLの可用性は this dev board にあります。それはSGX544を持っているので、あなたはそのボードからドライバーを取り出してデバイスに置くことができるかもしれません。それはうまくいくかもしれません...

余談ですが、OpenGL ES 3.1はGLコンピュートシェーダーをサポートし、Androidでサポートされているため、GPUを使用して何かを出荷するオプションを計算。

4
user2746401
3
Kirtan