Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

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

Выпуск компилятора ISPC 1.32, развиваемого Intel для языка Си с расширениями SPMD

14.10.2026 13:48 (MSK)

Компания Intel опубликовала компилятор ISPC 1.32 (Implicit SPMD Program Compiler), предназначенный для сборки кода на языке Си с расширениями параллельного программирования SPMD (Single Program, Multiple Data), позволяющими добиться параллельного выполнения нескольких экземпляров одной программы с разными наборами входных данных. Код проекта написан на языке С++ и распространяется под лицензией BSD. Поддерживается работа в Linux, Windows, macOS и FreeBSD.

Си-программы с расширениями SPMD компилируются для выполнения на вычислительных блоках SIMD, предоставляемых CPU и GPU, что позволяет задействовать механизмы векторизации SIMD без низкоуровневых оптимизаций и явного применения в коде SIMD-инструкций. Для написания распараллеливаемых функций используется привычный синтаксис и идиомы языка Си - SPMD-функции напрямую взаимодействуют с функциями и структурами, написанными на C/C++. Для отладки программ могут применяться существующие отладчики.

В качестве бэкенда для генерации кода и оптимизации в ISPC используется инфраструктура LLVM. Поддерживаются векторные инструкции x86 (SSE2, SSE4, AVX, AVX2, AVX512) и ARM (NEON), а также вынос вычислений на сторону GPU (Intel Gen9 и Xe). На архитектурах с векторными блоками SSE, обрабатывающими по 4 элемента за раз, применение ISPC даёт возможность добиться ускорения выполнения программы в 3 или более раз, а на архитектурах с векторными блоками AVX, обрабатывающими по 8 элементов за раз, ускорение может достигать 5-6 раз. При этом помимо размера векторного блока, масштабирование также обеспечивается за счёт выполнения на разных процессорных ядрах.

Основные новшества, добавленные в версии ISPC 1.32:

  • Обеспечена полная поддержка расширений AVX10.2 и APX (Advanced Performance Extensions), применяемых при генерации кода для сборочных целей avx10.2dmr (CPU Intel Diamond Rapids) и avx10.2nvl (CPU Intel Nova Lake).
  • Добавлена поддержка процессоров на базе микроархитектуры AMD Zen 6, включаемая через опцию "--cpu=znver6".
  • В стандартную библиотеку добавлены функции pdep32(), pext32(), pdep64() и pext64() для выполнения операций над битами "параллельное извлечение" и "параллельное размещение".
  • В ISPC Runtime реализованы функции ispcrtLoadModuleFromMemory() и ispcrtLoadModuleFromMemoryWithOptions(), при помощи которых можно загрузить GPU-модуль из находящегося в оперативной памяти буфера SPIR-V.
  • Инструментарий LLVM обновлён до версии 23.1.2. Добавлена начальная поддержка сборки с находящейся в разработке веткой LLVM 24.


  1. Главная ссылка к новости (https://github.com/ispc/ispc/r...)
  2. OpenNews: Выпуск компилятора ISPC 1.31, развиваемого Intel для языка Си с расширениями SPMD
  3. OpenNews: Intel представил nGraph, компилятор для систем машинного обучения
  4. OpenNews: Linux ядро адаптировано для сборки компилятором Intel C/C++
  5. OpenNews: Доступен Vcc, C/C++ компилятор для Vulkan
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66467-ispc
Ключевые слова: ispc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (8) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Archer73 (ok), 14:22, 14/10/2026 [ответить]  
  • +/–
    > Позволяющими добиться параллельного выполнения нескольких экземпляров одной программы с разными наборами входных данных

    Это как? SIMD инструкции работают с непрерывными выровненными в памяти данными. У нескольких экземпляров программы с разными данными память будет изолирована же?

    И в чем разница с обычными компиляторами LLVM и GCC, которые тоже вставляют SIMD инструкции по возможности

     
     
  • 2.3, Жироватт (ok), 14:24, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Оптимизировано к выпускаемому ими железу, не?
     
     
  • 3.4, Archer73 (ok), 14:38, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    А если запустить на AMD все SIMD инструкции слетят? Вроде когда-то давно был прикол с ICC когда подмена Vendor ID на уровне софта с AMD на Intel приводила к резкому росту производительности программы. Но Intel вроде обещал больше таким не заниматься
     
     
  • 4.8, Аноним (8), 15:10, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Доверять можно только самому себе.
     

  • 1.2, Жироватт (ok), 14:23, 14/10/2026 [ответить]  
  • +1 +/–
    НЕ очередной buzzword-язык. Хм, интелы может все-таки что-то знают?
     
     
  • 2.5, Аноним (5), 14:50, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > НЕ очередной buzzword-язык. Хм, интелы может все-таки что-то знают?

    Тот самый интел который обделался и чуть не обанкротился?
    Пришлось государству его частично национализизовать.
    Да-да, это хорошо знают как пилить бабосы налогоплатильщиков.

     
     
  • 3.7, Аноним (7), 15:04, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >Тот самый интел который обделался и чуть не обанкротился?

    Как и тот самый амд который обделался и чуть не обанкротился в 2009.
    Пришлось продавать все производственные мощности, и спасли только продажи чипов для консолей PlayStation и Xbox и до сих пор закрытые на это глаза антимонопольщиков.

     

  • 1.6, Аноним (7), 14:58, 14/10/2026 [ответить]  
  • +/–
    >Обеспечена полная поддержка расширений AVX10.2 и APX в CPU Intel Nova Lake

    Жду выхода, рефреш Arrow Lake (250K Plus и 270K Plus) пропустил, хотя их заметно подтянули, а вот Nova Lake возьму поиграться.
    p.s.:
    1) https://cdn.3dnews.ru/assets/external/illustrations/2026/05/17/1141849/chart_2
    2) https://cdn.3dnews.ru/assets/external/illustrations/2026/05/17/1141849/power_0

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



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг: