Khronos выпустила спецификацю SYCL 2020 для гетерогенного параллельного программирования на C++

 

Khronos Group сообщила, что спецификация для гетерогенного программирования на основе C++ 17 под названием SYCL пересмотрена и выпущена в виде релиза SYCL 2020. Новая версия является преемником стандарта SYCL 1.2.x, с которым она обратно совместима.

Новая версия добавляет поддержку унифицированной разделяемой памяти (USM), расширенную совместимость, атомарные операции SYCL, поведение которых похоже на аналогичные функции в C ++, а также много другое. В общей сложности, в SYCL 2020 добавлено более 40 новых функций для расширения возможностей программирования. При этом разработчики заявили, что главной задачей при создании SYCL 2020 было не только введение новых функций, но и сохранение обратной совместимости, поскольку стандарт используется в суперкомпьютерных системах и реальных приложениях.

Параллельно с выпуском спецификации SYCL 2020 экосистема SYCL продолжает расти за счёт расширения разработки компиляторов, сред выполнения, библиотек и инструментов. В частности, многие компоненты Intel oneAPI Data Parallel C++ (DPC++) включены в состав SYCL 2020. Реализация, совместимая с ComputeCpp SYCL 1.2.1 от Codeplay, включает избранные функции SYCL 2020 в качестве расширений, в том числе поддержку DSP и RISC-V с добавлением дополнительных функций со временем.

Реализации Intel, Codeplay и Xilinx (triSYCL) основаны на платформе LLVM и несколько более универсальны. hipSYCL от Гейдельбергского университета также поддерживает ключевые функции SYCL 2020, начиная с версии 0.9, и предлагает поддержку CUDA и ROCm. Наконец, NEC имеет свой вариант neoSYCL для запуска на векторных ускорителях SX-AURORA. Разработчики могут загрузить любую из этих реализаций и поэкспериментировать с возможностями SYCL 2020 уже сегодня.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER. | Можете написать лучше? Мы всегда рады новым авторам.

Источник:

Постоянный URL: https://servernews.ru/1032346
Поделиться:  

Комментарии

Система Orphus