Khronos выпускает окончательные спецификации OpenCL 3.0
Несколько дней назад некоммерческая организация Khronos выпустила полные и окончательные спецификации OpenCL 3.0 API. В настоящее время это давно устоявшаяся структура, в которой постепенно усиливается конкуренция, поскольку ключевые партнеры переходят на другие API.
OpenCL был сначала разработан Apple, а затем улучшен NVIDIA и AMD и представлен группе Khronos как открытый кроссплатформенный стандарт. Новая версия 3.0 является в некоторой степени противоположной, поскольку она разделяет базовый API с веткой Open CL 1.2, выпущенной в 2011 году.
Единственный производитель, все еще широко поддерживающий стандарт, - это Intel. В июне производитель объявил, что Neo Runtime будет поддерживать OpenCL 3.0 с Tiger Lake. Между тем, Apple перешла на Metal API (начиная с macOS 10.14), а у NVIDIA есть более удобный для разработчиков API под названием CUDA. AMD предлагает поддержку OpenCL 2.2 с помощью своей платформы разработки с открытым исходным кодом под названием RoCm.
Khronos максимально упростил реализацию OpenCL 3.0. При переходе с OpenCL 1.2 или 2.2 на 3.0 изменение кода не требуется.
Кроме того, OpenCL имеет два новых расширения:
- Запрос на возврат универсального уникального идентификатора (UUID) для драйвера и устройства OpenCL, который может использоваться для идентификации драйверов и устройств в процессах или API.
- Расширение асинхронного DMA, обеспечивающее упорядоченные транзакции DMA в качестве первоклассных граждан - идеально подходит для устройств на основе памяти Scratch Pad, которые требуют точного управления распределением буфера. Это расширение - первое из нескольких значительных достижений в OpenCL, направленных на усиление поддержки встроенных процессоров.
Не ожидается, что популярность OpenCL увеличится после объявления версии 3.0. Популярность фреймворка так и не началась, несмотря на сильную поддержку со стороны AMD. Некоторые из наиболее интересных проблем OpenCL были описаны в этой ветке Quora, которую стоит проверить.
Добавить комментарий