
5 мая консорциум Khronos официально представил OpenCL 3.1 — свежее обновление открытого стандарта, предназначенного для кроссплатформенных вычислений на базе CPU, GPU, DSP, NPU и специализированных ускорителей. Релиз был приурочен к профессиональной конференции IWOCL 2026 и продолжает развитие модели OpenCL 3.x, где функциональные возможности сначала тестируются в качестве расширений, а затем интегрируются в обязательное ядро стандарта.
Ключевые изменения и SPIR-V
Центральным нововведением OpenCL 3.1 стала обязательная поддержка загрузки вычислительных ядер в формате SPIR-V для всех совместимых реализаций. Данный стандарт используется в качестве переносимого промежуточного представления, которое может быть получено, например, с помощью инструментов LLVM/Clang или SPIR-V LLVM Translator. Переход на SPIR-V упрощает использование OpenCL в качестве backend-решения для SYCL, chipStar и других специализированных компиляторов, а также позволяет разработчикам распространять программные ядра в предварительно скомпилированном виде, минуя передачу исходного кода.
Оптимизация для AI и HPC
В ядро стандарта были перенесены важные инструменты, критичные для работы с задачами искусственного интеллекта и высокопроизводительными вычислениями (HPC):
- Поддержка subgroups с операциями shuffle/rotate и расширенным набором типов данных.
- Скалярные произведения целых чисел с поддержкой режимов накопления и насыщения.
- Актуализированный набор битовых операций.
- Функция запроса рекомендуемого размера локальной рабочей группы.
- Стандартизированный запрос UUID устройства, который теперь полностью согласован с аналогичным поведением в Vulkan.
Языковые улучшения и поддержка
Среди прочих изменений стоит выделить расширение языковых возможностей без обязательного подключения дополнительных модулей, обновленный printf в OpenCL C (теперь с поддержкой модификаторов z и t), а также уточнение семантики CL_DEVICE_HOST_UNIFIED_MEMORY. Кроме того, была добавлена возможность передачи нулевого размера для аргументов локальной памяти и упрощена процедура синхронизации при проверке состояния события CL_COMPLETE.
Активную работу над внедрением OpenCL 3.1 уже ведут такие гиганты индустрии, как Arm, Imagination, Intel и Qualcomm. Со стороны открытого ПО Khronos выделяет проект Rusticl в составе Mesa, а также реализации PoCL и CLVK. Параллельно продолжается развитие слоев совместимости, которые позволяют запускать OpenCL поверх графических API Vulkan и DirectX 12, что обеспечивает работу стандарта даже на системах, не имеющих нативных драйверов.
Планы на будущее
В консорциуме Khronos уже определили следующие этапы развития технологии. В будущих версиях планируется внедрение командных буферов для низкоуровневого повторного запуска задач, доработка единой общей памяти, поддержка матричных операций в совместном режиме, а также интеграция новых форматов данных для работы с нейросетями и углубленная совместимость с Vulkan, DirectX 12 и современными медиа-пайплайнами.





