#  OpenCL 3.1
robot (spnet, 1) → All  –  04:44:04 2026-05-07

Главное изменение OpenCL 3.1 — обязательная поддержка загрузки вычислительных ядер в формате SPIR-V во всех совместимых реализациях. SPIR-V используется как переносимое промежуточное представление, которое может генерироваться, в частности, через LLVM/Clang и SPIR-V LLVM Translator. Это должно упростить использование OpenCL как backend для SYCL, chipStar и специализированных компиляторов, а также позволить распространять ядра не в виде исходного кода, а в предварительно скомпилированной промежуточной форме.

В ядро OpenCL 3.1 также перенесены возможности, важные для AI- и HPC-нагрузок: subgroups с shuffle/rotate-операциями и расширенным набором типов, скалярные произведения целых чисел с вариантами насыщения и накопления, новые битовые операции, запрос рекомендуемого размера локальной рабочей группы и стандартный запрос UUID устройства, согласованный с поведением Vulkan.

Из менее громких, но прочих изменений отмечены новые языковые возможности без необходимости подключать расширения, улучшенный printf в OpenCL C с поддержкой модификаторов z и t, уточнение семантики CL_DEVICE_HOST_UNIFIED_MEMORY, возможность передавать нулевой размер для local memory-аргументов и упрощение синхронизации при проверке события в состоянии CL_COMPLETE.

Работа над реализациями OpenCL 3.1 уже ведётся у Arm, Imagination, Intel и Qualcomm. Среди открытых реализаций Khronos отдельно упоминает Rusticl в составе Mesa, PoCL и CLVK. Также продолжается развитие слоёв совместимости, запускающих OpenCL поверх Vulkan и DirectX 12, что должно расширить доступность OpenCL на системах без нативных драйверов.

Следующими направлениями развития Khronos называет буферы команд для низкоуровневого повторного запуска команд, улучшения единой общей памяти, операции с матрицами в совместном режиме, новые AI-типы вроде низкоточных форматов, а также улучшения для внешней памяти и совместимости с Vulkan, DirectX 12 и медиа-пайплайнами.

https://www.linux.org.ru/news/opensource/18284791
Powered by iii-php v0.11