The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлена спецификация OpenCL 3.0

27.04.2020 20:06

Концерн Khronos, отвечающий за разработку спецификаций семейства OpenGL, Vulkan и OpenCL, объявил о завершении разработки спецификаций OpenCL 3.0, определяющих API и расширения языка С для организации кросс-платформенных параллельных вычислений с использованием многоядерных CPU, GPU, FPGA, DSP и других специализированных чипов, от тех, что применяются в суперкомпьютерах и облачных серверах, до чипов, которые можно встретить в мобильных устройствах и встраиваемой технике. Стандарт OpenCL полностью открыт и не требует лицензионных отчислений. В работе над стандартом приняли участие такие компании, как IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments и Toshiba.

На текущей стадии спецификации присвоен статус предварительной (provisional), что подразумевает возможность доработки на основе отзывов, отправленных через GitHub. После того как замечания будут учтены, спецификация получит статус финальной и будет опубликован итоговый тестовый набор для проверки совместимости имеющихся реализаций.

Наиболее заметные особенности 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 приведена в соответствие с окружением, расширениями и спецификациями универсального промежуточного представления SPIR-V, которое также применяется в API Vulkan. Поддержка спецификации SPIR-V 1.3 внесена в основной состав OpenCL 3.0 в качестве опциональной возможности. Через использование промежуточного представления SPIR-V для вычислительных ядер добавлена поддержка операций с подгруппами.
  • Добавлена поддержка расширения для выполнения асинхронных DMA-операций (Asynchronous DMA), поддерживаемого в DSP-подобных чипах с прямым доступом к памяти. Asynchronous DMA даёт возможность использовать транзакции DMA для передачи данных между глобальной и локальной памятью в асинхронном режиме, параллельно с производимыми вычислениям или другими операциями передачи данных.
  • Спецификация расширений параллельного программирования для языка Си обновлена до версии 3.0, а развитие языковых расширений OpenCL для C++ прекращено в пользу проекта "C++ for OpenCL". C++ for OpenCL представляет собой компилятор, основанный на Clang/LLVM и транслирующий ядра на C++ и OpenCL C в промежуточное представление SPIR-V или низкоуровневый машинный код. Через трансляцию в SPIR-V также организована сборка С++ приложений, использующих библиотеку шаблонов SYCL, упрощающую создание параллельных приложений.
  • Для трансляции OpenCL через API Vulkan предложены компилятор clspv, преобразующий ядра OpenCL в представление Vulkan SPIR-V, и прослойка clvk для обеспечения работы API OpenCL поверх Vulkan.


  1. Главная ссылка к новости (https://www.khronos.org/news/p...)
  2. OpenNews: Компания Apple перевела OpenGL и OpenCL в разряд устаревших технологий
  3. OpenNews: Доступны спецификации OpenCL 2.0 и OpenVX 1.0. AMD развивает альтернативу OpenGL
  4. OpenNews: Представлен обновлённый вариант спецификации OpenCL 1.2
  5. OpenNews: Представлены финальные версии спецификации OpenCL 1.0 и OpenVG 1.1
  6. OpenNews: Опубликован графический стандарт Vulkan 1.2
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52824-opencl
Ключевые слова: opencl, gpu, vulkan, api
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Антошка (??), 20:38, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +23 +/
    ничего не понял, но наверное это нужно
     
     
  • 2.20, Аноним (-), 22:08, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Может нативных игр под Linux станет больше?
     
     
  • 3.23, Pop_OS (?), 22:33, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ага, вместе с Electronic Arts)
     
  • 3.31, КО (?), 07:06, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хахаха, прекрати трава, улетай
     
     
  • 4.56, ммнюмнюмус (?), 23:42, 29/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Трава, не входи
     
  • 3.42, 777 (??), 14:17, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а не обязательнов играх это можно использовать. например можно использовать для высоконагруженных бэкэндов, речь то идет о паралельных вычислениях. почему бы микро запросы в рамках IoT не обрабатывать гибко. в современном мире С и С++ исползуются весьма в серезных делах.
     
  • 3.51, Аноним (51), 01:06, 29/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Может нативных игр под Linux станет больше?

    Или в комменте что-то очень тонкое (непонятное мне) зарыто или аноним путает OpenGL и OpenCL. В чем шутка?

     
  • 2.41, 777 (??), 14:13, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    обычно не понятно тем программистам кто всякие питоны, js, всякие ангуляры изучает, карочи контентщикам.
     

  • 1.2, Аноним (2), 20:41, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Во, думаю, лет через 10 только-только начнет появляться намек на возможно скорое появление сущности, отдаленно напоминающей что-то типа зародыша конкурента сильно урезанной версии CUDA.
     
     
  • 2.3, Аноним (3), 20:45, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А чего такого нужного нету в опенцл, что есть в куда?
     
     
  • 3.5, Анонидзе (?), 20:54, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Нормальный рабочий драйвер
     
     
  • 4.7, Аноним (7), 21:04, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Вот именно. В Mesa до сих пор рудиментарный 1.1. Позор. Есть, конечно, ROCm, но он подозрительно слегка проприетарен, хоть и почти опенсорсен, и вечно полон несовместимостей с нынешними версиями ядра, что постоянно затрудняет его нормальное использование. В Mesa всё должно быть встроено, чтобы оно пошло в массы.
     
     
  • 5.10, Аноним (10), 21:07, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мечты, мечты.
     
  • 5.37, Аноним (37), 10:12, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >и вечно полон несовместимостей с нынешними версиями ядра

    amdkfd патченный не обязателен.

     
  • 3.6, Урри (?), 20:55, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    вшитого блоба нвидии
     
     
  • 4.26, Аноним (26), 23:41, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > вшитого блоба нвидии

    который работает как швейцарские часы.

     
     
  • 5.38, Не_Интересующийся (?), 10:33, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    часы показывает?
     
     
  • 6.44, VladSh (?), 19:07, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    как швейцарские часы
     

  • 1.4, Аноним (4), 20:50, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Когда уже можно будет запустить Full-PUBG.exe-x86_64.AppImage и играть без проблем и костылей
     
     
  • 2.9, Аноним (7), 21:06, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А при чём тут OpenCL?
     
     
  • 3.25, Аноним (25), 23:07, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Просто интересуюсь.
     
  • 2.32, КО (?), 07:08, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Когда вытащишь те самые руки из известного места и забацаешь всё сам.
     

  • 1.8, Аноним (10), 21:06, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    С nvidia все понятно, но если этот стандарт поддержит кто-то крупный например эпл, амд может выстрелить.
     
     
  • 2.11, Аноним (7), 21:08, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    AMD уже давно поддерживает, в виде известного в узких кругах драйвера ROCm. А толку то? В приложениях его никто не поддерживает, одна CUDA кругом. В этом главная беда.
     
     
  • 3.21, Аноним (21), 22:15, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Навскидку, Corel Painter - Open CL
     
  • 3.27, Annoynymous (ok), 23:55, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А перечисли, пожалуйста, ну или ссылку кинь, на список софта, умеющего CUDA, но не умеющего OpenCL и наоборот.

    Из того софта, что есть у меня, всё сплошь OpenCL.

     
  • 2.15, Аноним (15), 21:27, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нууу, как бы сказать... Apple как раз и сделала OpenCL. Двинула в Khronos Group, AMD присоединилась, прекратила разработку ATI Stream SDK (аналог CUDA Toolkit) в пользу OpenCL. NVIDIA тоже сделала OpenCL. На Intel GPU всё нормально только в винде, а под линуксом хрен заведёшь. На Ivy и Sandy был ооочень странный драйвер OpenCL, для которого нужно патчить ядро (причём патч только под одну версию ядра, а под другие версии хрен адаптируешь, потому что патч большой), потом они его выбросили и сделали новый.
     
     
  • 3.16, Аноним (15), 21:28, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    P.S. Apple потом выбросила и OpenGL, и OpenCL.
     
     
  • 4.29, НяшМяш (ok), 03:01, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот бы им кто-нибудь по морде выписал, чтобы добавили поддержку Vulkan.
     
     
  • 5.35, Аноним (35), 09:53, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Они Metal для себя запилили, зачем им вулкан?
     
     
  • 6.39, НяшМяш (ok), 12:43, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Они Metal для себя запилили, зачем им вулкан?

    Им незачем, а я хочу Wine с игрушками гонять )

     
     
  • 7.40, commiethebeastie (ok), 13:48, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    MoltenVK так и не дошел до нормальной совместимости?
     
     
  • 8.43, НяшМяш (ok), 14:38, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, и вряд ли дойдёт - там ограничения фундаментальные на уровне Metal ... текст свёрнут, показать
     
  • 7.45, VladSh (?), 19:10, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    отдельно?)
     
     
  • 8.47, НяшМяш (ok), 19:51, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Отдельно всмысле вне протона стима Целиком и полностью за стим с его протоном, ... текст свёрнут, показать
     
     
  • 9.52, VladSh (?), 11:36, 29/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Отдельно в смысле Wine на лунуксе запускае, если уж так хочется, а игры на винде... текст свёрнут, показать
     

  • 1.12, Аноним (12), 21:18, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    мне кажется или они делают такую же гадость как и расширения протокола джабер к... большой текст свёрнут, показать
     
     
  • 2.36, Аноним (35), 09:56, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Они делают ту же гадость, что и с расширениями OpenGL или Vulkan. Вроде работает, просто старые железки временами перестают поддерживаться приложениями.
     

  • 1.13, InuYasha (?), 21:21, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почему практически на всех логотипах тут присутствует овал? o_O
     
     
  • 2.17, Fracta1L (ok), 21:32, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Надо Фрейда спросить
     
  • 2.22, Фрейд (?), 22:27, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Потому что матричное ГПУ аналогично женскому началу, в пару линейному АЛУ, сотворяющему структуру и образы с помощью оной и наполняющим смыслом эти простые ядра.
     

  • 1.14, Аноним (15), 21:24, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О, отлично, жду в атишных драйверах, будем майнить ещё эффективнее!
     
  • 1.18, Аноним (18), 21:51, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это какая то система курильщика.
    AMD ROCm наше все
     
  • 1.19, Аноним (19), 22:02, 27/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я вроде так слышал, что вулкан целиком заменит опенцл во всём. Что-то на картинках это не отражено.
     
     
  • 2.24, Аноним (24), 22:35, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    OpenCL это обжора с тоннами легаси, как и wordpress
     
  • 2.49, Аноним (49), 21:00, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Vulkan все таки для графики, а OpenCL - это вычисления общего назначения. Там есть очень специализированные железки (DSP и FPGA) и Vulkan к ним никаким боком не относится.

    Но последняя картинка показывает то что ты слышал: можешь преобразовать OpenCL в Vulkan и запустить на железке с Vulkan. Больше не нужно ждать специально поддержку OpenCL для своей видеокарты, Vulkan + официальные железонезависимые прослойки в состоянии заменить OpenCL.

     

  • 1.30, Аноним (30), 05:12, 28/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    прослойка на прослойке, две прослойки в одну прослойку, прослойка между двух прослоек, три прослойки на двух прослойках  и т.д. ))
     
     
  • 2.50, Аноним (49), 21:06, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > прослойка на прослойке

    Это прослойки для компиляторов, чтобы не нужно было делать 9000 компиляторов, или жестко привязываться к конкретному языку (на случай, если ты застрял на каком-нибудь HLSL и перелезать на OpenCL не хочешь). На рантайм почти никак не влияет.

     

  • 1.33, КО (?), 09:25, 28/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И этим лавры USB покоя не дают.

    Давайте сделаем новую версию 3, но на самом деле это будет то же самое, что и в версии 1, а версия 2 - как повезет.

     
     
  • 2.46, VladSh (?), 19:12, 28/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте сделаем новую версию 3, в которую пихай всё, что хочешь поверх 1.2.
     

  • 1.34, КО (?), 09:40, 28/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Краткий пересказ статьи:
    Выпустили новую версию проги с костылями для совместимости со старыми версиями, причем костыли для совсем дряхлой, потому что она была лучше, ламповой, а другая ваще зашквар.
    Остальное фигня, не относящаяся к проге.
     
  • 1.48, Аноним (49), 20:35, 28/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тема ПЛИС не раскрыта. Вроде последняя OpenCL с поддержкой ПЛИС была 1.2, а в 2.0 типа уже никак. Что в OpenCL3 получлось?
     
     
  • 2.54, anonimous (?), 19:22, 29/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На практике имеем, что имеем, и сейчас это

    https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/op
    The Intel FPGA SDK for OpenCL Pro Edition supports the embedded profile of the OpenCL
    Specification version 1.0.

    https://www.xilinx.com/html_docs/xilinx2019_1/sdaccel_doc/vpy1519742402284.htm
    The SDAccel environment provides an OpenCL 1.2 embedded profile conformant runtime API.

     

  • 1.53, Аноним (53), 12:53, 29/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Представлена спецификация OpenCL 3.0

    Сколько десятилетий ждать ее поддкржки?

    https://libclc.llvm.org
    ...implementation of the library requirements of the OpenCL C programming language, as specified by the OpenCL 1.1 Specification...
    ...currently supports the AMDGCN, and R600 and NVPTX targets...

    https://www.x.org/wiki/RadeonFeature/

    https://dri.freedesktop.org/wiki/GalliumCompute/

     
     
  • 2.55, Аноним (24), 19:34, 29/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Install Windows 10 && NVIDIA Driver
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру