Поддерживает ли Android OpenCL?

Недавно я хочу разработать приложение для параллельных вычислений на Android-приложении OpenCL. Насколько я знаю, система Android не включает в себя "libopencl.so", но есть еще некоторые веб-страницы или блоги, показывающие OpenCL-разработку на Android. Поддерживает ли Android OpenCL? если да, то что мне делать для разработки OpenCL на Android?

Ответы

Ответ 1

Обновление от 20 мая 2016 года

Для всех устройств с arm64-v8a ABI библиотека OpenCL может также находиться в папке lib64.

Поэтому, когда вы проверяете библиотеку OpenCL, убедитесь, что вы также проверяете соответствующую папку lib64 (если вы предпочитаете arm64-v8a как первый ABI для своего приложения, вы можете сначала проверить папку lib64).

Например: /system/vendor/lib64/libOpenCL.so


Оригинальный ответ:

С 2014 года существует больше телефонов, поддерживающих OpenCL.

Ниже перечислены расположение библиотеки OpenCL:

Qualcomm Adreno:

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

ARM Mali:

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

PowerVR:

/system/vendor/lib/libPVROCL.so

Вы можете использовать OpenCL-Z Android, чтобы проверить доступные и возможности OpenCL на устройствах Android.

Ответ 2

Строго говоря, Android не поддерживает OpenCL. Это Google (плохой) выбор. Тем не менее, вы можете запускать приложения OpenCL на своем Android-устройстве, если вы можете получить библиотеку OpenCL для него. Из ссылок, которые предлагает Kirtan, я бы рекомендовал маршрут Sony, поскольку он наиболее прямолинейный (т.е. Телефоны уже поставляются с OpenCL), которые я считаю Qualcomm Adreno GPU.

Единственная доступность Imagination OpenCL, о которой я знаю, находится на этой панели разработчиков. Он имеет SGX544, поэтому вы можете взять драйверы с этой платы и поместить их на свое устройство. Это может сработать.....

В стороне: OpenGL ES 3.1 поддерживает GL-калькуляторы и поддерживается на Android, поэтому может быть вариант, когда вы хотите отправить что-то с помощью графического процессора для вычисления.