LINUX.ORG.RU

Вышла спецификация OpenCL 1.1, позволяющая использовать GPU для параллельных вычислений

 , , , ,


0

0

Технологическая группа Khronos объявила о выходе обновлённой версии открытого языка для кросс-платформенных параллельных вычислений OpenCL 1.1.

OpenCL определяет API и расширения языка C для параллельного программирования, предусматривая возможность задействовать для решения задач GPU видеокарт. Спецификация OpenCL 1.1 предоставляет увеличенную производительность и функциональность и является обратно совместимой с предыдущей версией.

Работа по написанию новой версии OpenCL заняла около полутора лет. В работе над стандартом приняло участие более 30 компаний, среди которых: IBM, NVIDIA, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, Toshiba, Intel, национальная лаборатория Los Alamos, Nokia.

Основные изменения в спецификации:

  • Новые типы данных, включая трёхкомпонентные векторы и дополнительные графические форматы;
  • Обработка команд и буферов с нескольких хостов и на нескольких устройствах одновременно;
  • Операции на регионах буфера, включая чтение, запись и копирование 1D, 2D и 3D прямоугольных регионов;
  • Расширенное использование события для управления потоком исполнения команд;
  • Дополнительные встроенные Си-функции, такие как целочисленный clamp, shuffle и асинхронные разряженные копии;
  • Улучшено взаимодействие с OpenGL путём эффективного взаимного использования изображений и буферов и связывания событий OpenCL и OpenGL.

Подробности;

Обзор OpenCL;

>>> Подготовлено по материалам opennet.ru

Ответ на: комментарий от vaulter

vaulter> Насколько я понимаю, OpenCL позиционируется как уровень абстракции над конкретным вычислителем, но ARM и GPU настолько различны по своей природе (вернее по специфике вычислений, которые на них стоит гонять), что общий смысл сего стандарта от меня ускользает.

OpenCL - универсальная библиотека для многопоточных вычислений. И сделана она с целью предоставить единый интерфейс для любых аппаратных решений - будь то GPU или куча универсальных процессоров.

Quasar ★★★★★ ()
Ответ на: комментарий от namezys

namezys> openCL должен работать даже, если отсутсвует специфичный GPU.

CUDA тоже так умеет.

Quasar ★★★★★ ()
Ответ на: комментарий от gag

gag> Вот когда наконец-то ядро GPU посадят рядом с CPU, чтобы он получил прямой доступ ко всем этим дробилочкам! Вот тогда!..

AMD Fusion, ARM + PowerVR.

Quasar ★★★★★ ()
Ответ на: комментарий от Quasar

>CUDA тоже так умеет.

Да? Интересно, почему тогда реализация OpenCL от NVidia не умеет на CPU? Или эта опция доступна только если GPU не умеет вычислений?

Я OpenCL на CPU смог запустить только на ATI-шном SDK. NVidia-вский предлагает GPU без вариантов...

WFrag ★★★★ ()
Ответ на: комментарий от WFrag

WFrag> Да? Интересно, почему тогда реализация OpenCL от NVidia не умеет на CPU? Или эта опция доступна только если GPU не умеет вычислений?

А при чём тут CUDA?

WFrag> Я OpenCL на CPU смог запустить только на ATI-шном SDK. NVidia-вский предлагает GPU без вариантов...

Потому, что у нвидии всю жизнь кривая реализация то OpenGL, то теперь OpenCL. OpenGL у нвидии просто ужасен и неимоверно крив.

Quasar ★★★★★ ()
Ответ на: комментарий от Quasar

> И сделана она с целью предоставить единый интерфейс для любых аппаратных решений - будь то GPU или куча универсальных процессоров.

ARM куда шире, чем GPU. Поэтом код cl легко исполнится на arm

CUDA тоже так умеет.

На каких процессорах и сопроцесосрах? На каких архитектурах?

AMD Fusion, ARM + PowerVR.

На одном кристале не есть рядом

Потому, что у нвидии всю жизнь кривая реализация то OpenGL, то теперь OpenCL. OpenGL у нвидии просто ужасен и неимоверно крив.

Но он едиснтвенный, что работает

namezys ★★★★ ()
Ответ на: комментарий от Quasar

>> Да? Интересно, почему тогда реализация OpenCL от NVidia не умеет на CPU? Или эта опция доступна только если GPU не умеет вычислений?

А при чём тут CUDA?

Внутри реализации OpenCL у NVidia всё та же CUDA, насколько мне известно.

WFrag ★★★★ ()
Ответ на: комментарий от namezys

>Но он едиснтвенный, что работает

У ATI SDK тоже работает, но только на CPU, и не все фичи умеет (например, изображения/текстуры не умеет).

В рамках freedesktop.org вроде начали потихоньку OpenCL реализовывать (кажется, к Mesa будет прикручена), но когда это будет — непонятно.

WFrag ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.