Релиз PoCL 6.0 с независимой реализацией стандарта OpenCL

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3247
Зарегистрирован: 20.08.2022

#

Релиз PoCL 6.0 с независимой реализацией стандарта OpenCL
Дата публикации:Wed, 19 Jun 2024 10:39:39 +0300




Опубликован релиз проекта PoCL 6.0 (Portable Computing Language OpenCL), развивающего реализацию стандарта OpenCL, независимую от производителей графических ускорителей и позволяющую использовать различные бэкенды для выполнения OpenCL-ядер на разных типах графических и центральных процессоров. Код проекта распространяется под лицензией MIT. Поддерживается работа на платформах X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU и различных специализированных ASIP (Application-Specific Instruction-set Processor) и TTA-процессорах (Transport Triggered Architecture) c архитектурой VLIW.



Реализация компилятора ядер OpenCL построена на базе LLVM, а в качестве фронтэнда для OpenCL C используется Clang. Для обеспечения должной переносимости и производительности компилятор ядер OpenCL может генерировать комбинированные функции, которые могут использовать различные аппаратные ресурсы для распараллеливания выполнения кода, такие как VLIW, суперскалярность, SIMD, SIMT, многоядерность и многопоточность. Имеется поддержка ICD-драйверов
(Installable Client Driver). Присутствуют бэкенды для обеспечения работы через CPU, ASIP (TCE/TTA), GPU на базе архитектуры HSA и GPU NVIDIA (через libcuda).



В новой версии:
  • Добавлена поддержка Clang/LLVM 18.0, прекращена поддержка LLVM 10, 11, 12 и 13.

    Реализован новый бэкенд cpu-tbb, использующий для распараллеливания операций и планирования выполнения задач библиотеку OneTBB, развиваемую компанией Intel.

    В бэкенде cpu, обеспечивающем выполнение OpenCL-ядер на CPU, добавлена поддержка стандарта параллельного программирования OpenMP, добавлен метод clGetDeviceAndHostTimer(), а также реализованы экспериментальные расширения cl_pocl_svm_rect, cl_pocl_command_buffer_svm и cl_pocl_command_buffer_host_buffer.

    В бэкенд "Remote", предназначенный для организации распределённых вычислений через вынос обработки команд OpenCL на другие хосты в сети, на которых запущен фоновый процесс pocld, добавлена поддержка CG SVM (Coarse-Grain Shared Virtual Memory), возможность обращения к бэкенду с использованием коммуникационного протокола Vsock и поддержка компиляции и связывания программ при помощи функций clCompileProgram() и clLinkProgram().

    В бэкенде LevelZero, использующем API Level Zero, разрешено создавать буферы, размером больше 4ГБ, и реализованы оптимизации процессов синхронизации.
    В бэкенде CUDA реализованы операции sub_group_shuffle и sub_group_shuffle_xor, а также увеличен лимит CL_DEVICE_MAX_MEM_ALLOC_SIZE.




Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61399

Жизнь за Нер'зула!

Ответить