Остаточні специфікації OpenCL 3.0 вже опубліковані

Кілька місяців тому ми поділились тут в блозі новини про випуск розробки OpenCL 3.0 Концерн Хронос (Відповідальний за розробку специфікацій для сімейств OpenGL, Vulkan та OpenCL).

І це було донедавна анонсовано випуск остаточних специфікацій OpenCL 3.0, визначення API та розширень мови C для організації багатоплатформенних паралельних обчислень за допомогою багатоядерних процесорів, графічних процесорів, FPGA, DSP та інших спеціалізованих мікросхем, від тих, що використовуються в суперкомп'ютерах та хмарних серверах, до мікросхем, які можна знайти в мобільних пристроях та інтегрованих технологіях.

Тоді ж був випущений OpenCL SDK з відкритим кодом з інструментами, прикладами, документацією, файлами заголовків, посиланнями на бібліотеки C ++ та C для розробки програм, сумісних з OpenCL 3.0.

Також представлена ​​початкова реалізація OpenCL 3.0 на основі компілятора Clang, який знаходиться на стадії експертної оцінки для включення до основного пакету LLVM. Такі компанії, як IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments та Toshiba внесли свій внесок у цей стандарт.

Сьогодні Робоча група Khronos® OpenCL ™ рада повідомити про випуск доопрацьованих специфікацій OpenCL 3.0, включаючи нову уніфіковану специфікацію мови OpenCL C 3.0, а також передчасний початковий випуск SDK Khronos OpenCL для швидкого вставання розробників прискорити за допомогою OpenCL.

Основні функції OpenCL 3.0

API OpenCL 3.0 зараз охоплює всі версії OpenCL (1.2, 2.x), без надання окремих специфікацій для кожної версії.

OpenCL 3.0 пропонує можливість розширити базову функціональність шляхом інтеграції додаткових специфікацій, які перекриватимуться у вигляді опцій, не блокуючи монолітності OpenCL 1.2 / 2.X.

Тільки функціональність, яка відповідає OpenCL 1.2 оголошено обов’язковим, та всі функції, запропоновані в Технічні характеристики OpenCL 2.x називаються необов’язковими.

Цей підхід спростить створення спеціалізованих реалізацій, сумісних з OpenCL 3.0, і розширить діапазон пристроїв, на яких можна використовувати OpenCL 3.0.

Наприклад, Виробники можуть впровадити підтримку OpenCL 3.0 без реалізації певних функцій OpenCL 2.x. Для доступу до необов’язкових мовних функцій до OpenCL 3.0 додана система тестових запитів для оцінки підтримки окремих елементів API, а також спеціальних макросів.

Об’єднання з раніше випущеними специфікаціями полегшує переклад програм на OpenCL 3.0. Програми OpenCL 1.2 зможуть працювати на пристроях, що підтримують OpenCL 3.0, без змін.

Програми OpenCL 2.x також не вимагає змін коду, але якщо середовище OpenCL 3.0 забезпечує необхідну функціональність (для подальшої переносимості додаткам OpenCL 2.x рекомендується додавати тестові запити для оцінки сумісності з використовуваними функціями OpenCL 2.x).

Розробники драйверів із реалізацією OpenCL можуть легко оновити свої продукти до OpenCL 3.0, додавши лише обробку запитів для певних викликів API і поступово збільшуючи функціональність з часом.

Специфікація OpenCL 3.0 узгоджена із середовищем, розширеннями та специфікаціями загального проміжного продукту SПІР-В, який також використовується в API Vulkan. Підтримка специфікації SPIR-V 1.3 включена в основний OpenCL 3.0 як додаткова функція. Підтримка операцій з підгрупами додана за допомогою проміжного представлення SPIR-V для обчислювальних ядер.

Крім того додана підтримка розширення для виконання операцій DMA Асинхронна підтримка DSP-подібних чіпів DMA.

Асинхронна DMA дозволяє використовувати транзакції DMA для передачі даних між глобальною та локальною пам'яттю асинхронно, паралельно з поточними обчисленнями або іншими передачами даних.

Специфікація розширень паралельного програмування для мови C оновлено до версії 3.0 і розробка розширень мови OpenCL для С ++ припиняється на користь проекту "С ++ для OpenCL".

Для перекладу OpenCL через API Vulkan пропонується компілятор clspv, який перетворює ядра OpenCL у представлення Vulkan SPIR-V та рівень clvk, щоб забезпечити роботу OpenCL API поверх Vulkan.

Фуенте: https://www.khronos.org/


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.