- PVSM.RU - https://www.pvsm.ru -

Какая связь между червем длиной около миллиметра и OpenCL?

image

Недавно на хабре была статья про проект OpenWorm [1]. Проект использует OpenCL для расчета гидродинамики сглаженных частиц как на CPU, так и на GPU. Среди исследователей/разработчиков есть наши соотечественники Андрей Пальянов [2] и Сергей Хайрулин [3] из сибирского отделения Российской академии наук.

Под катом география комьюнити OpenWorm, а так же рейтинг популярности разработки на OpenCL по странам и ссылки на примеры для версии стандарта 2.0

Судя по публикациям, Андрей Пальянов и Сергей Хайрулин участвуют в проекте NeuroML и выполняли оптимизацию алгоритма PCI-SPH для GPGPU. А узнал о том, что этот проект собирается использовать OpenCL, в марте прошлого года от их коллеги по проекту Matteo Cantarelli.

География комьюнити openworm по данным сайта [4]:

image

Ситуация же с популярностью и использованием OpenCL в России странная. Судя по статистике моего блога и ссылкам на него с форума сайта консорциума khronos.org [5] и документации JavaCL [6], у нас в стране тема GPGPU не популярна. Возможно, не очень репрезентативно, но рейтинг популярности разработки на OpenCL по странам (на основе моего блога и без учета последнего хабр эффекта):

1. United States
2. Germany
3. Ukraine
4. United Kingdom
5. Poland
6. Latvia
7. France
8. Canada
9. China
10. Russia

Печально… При том что OpenCL — это не только GPU, CPU, но FPGA. Как вы считаете, почему сложилась такая ситуация?

Напоследок новость для тех, кому интересно. Состоялся релиз новой версии AMD APP SDK 3.0 Beta [7] для OpenCL 2.0. Которая также включает в себя библиотеку шаблонов C++ «Bolt» и оптимизированную версию OpenCV [8] (Open Computer Vision) для OpenCL [9].

Примеры в архиве SDK позволят разобраться с появившимися в 2.0 версии фичами: SVM [10] Coarse Grain, Pipe [11], New Workgroup Built-in APIs, Image Read and Write, Program Scope Variable, Generic Address Space, Shared Virtual Memory pointer with offset, SVM Fine Grain Buffer, C++ 11 Atomics, Device-side Enqueue [12], Depth Image.

Подробное описание примеров в блоге AMD [13] и SDK.

P.S. Предупреждая критику, я не евангелист OpenCL. На данный момент моя работа не связана с оптимизацией ПО на GPGPU и все оптимизации что я делаю сейчас — это попытка «выжать» большую производительность из кластеров Coherence, его CacheStore и Oracle database через тюнинг параметров jdbc драйвера, декомпиляция изучение oracle jdbc/coherence и прочий энтерпрайз где время передачи данных по сети и время дискового I/O преобладают над временем вычислений. Несмотря на это, слежу за новостями GPGPU и планирую вернуться к оптимизации алгоритма на OpenCL в своем проекте.

Автор: igor_suhorukov

Источник [14]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/gpgpu/77027

Ссылки в тексте:

[1] OpenWorm: http://habrahabr.ru/post/208036/

[2] Андрей Пальянов: https://www.linkedin.com/pub/andrey-palyanov/20/201/611

[3] Сергей Хайрулин: https://www.linkedin.com/in/skhayrulin

[4] сайта: http://www.openworm.org/kickstarter/russian.html

[5] khronos.org: https://www.khronos.org/message_boards/showthread.php/6494-How-to-perform-atomic-sums-on-floats

[6] JavaCL: http://code.google.com/p/javacl/wiki/DebuggingKernels

[7] версии AMD APP SDK 3.0 Beta: http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/

[8] OpenCV: http://en.wikipedia.org/wiki/OpenCV

[9] для OpenCL: http://developer.amd.com/community/blog/2014/10/15/opencv-3-0-transparent-api-opencl-acceleration/

[10] SVM: http://developer.amd.com/community/blog/2014/10/24/opencl-2-shared-virtual-memory/

[11] Pipe: http://developer.amd.com/community/blog/2014/10/31/opencl-2-0-pipes/

[12] Device-side Enqueue: http://developer.amd.com/community/blog/2014/11/17/opencl-2-0-device-enqueue/

[13] блоге AMD: http://developer.amd.com/community/blog/2014/12/09/amd-app-sdk-3-0-beta/

[14] Источник: http://habrahabr.ru/post/245563/