Профиль: Аноним (вход | регистрация) не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 обязательно


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

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

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

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

    может воли вовсе не существует, куда там еще до ее свободы?

     
     
  • 7.13, Аноним (8), 15:58, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    В определенных обстоятельствах и типов личности. Я волен выключить выключатель в туалете? ))
     
  • 7.14, Аноним (8), 16:00, 14/10/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     
  • 6.12, Аноним (8), 15:56, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Что за подмена? Причем тут свобода воли? Это Вы о своем.
    В данном случае, доверие корпоративному коду для корпоративной железяки. Все этапы под контролем и проверены на данных железяках.
    Надо конечно осознавать степень своей компетенции, обстоятельств и много другое.  
     
  • 6.15, Аноним (8), 16:04, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >Почитай что свободы воли не существует как и самомотивации.

    Хорошая оправдательная философия для модели "Хозяин и Раб".

     
     
  • 7.25, Аноним (25), 17:54, 14/10/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     
  • 4.18, Аноним (8), 16:29, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Точнее сказать заработало. Строгих тестов на широком множестве данных длительно же не проводилось? Кто тестировал? Местный винтик-шпунтик?
    PS: Всё это, если вводные поста имели место.
     
  • 2.17, Аноним (8), 16:22, 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 и до сих пор закрытые на это глаза антимонопольщиков.

     
     
  • 4.19, inferrna (ok), 16:53, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Есть невидия, есть тот же штеуд. Какая монополия, ты бредишь
     
     
  • 5.20, Аноним (7), 17:07, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Вот именно, а теперь задумайся почему на консолях XBOX и PlayStation используется железо от AMD ?
    PlayStation 4 и Xbox One вышли уже с железом от AMD, до этого консоли использовали разное железо, потому, что их надо было спасать и топ-менеджеры Sony и AMD спустя много лет это подтверждают.
     

  • 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

     
  • 1.9, Аноним (10), 15:22, 14/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Все эти фирменные подделки служат только цели вендоринга. Тут даже поддержка инструкция АМД через ключи. Как результат прохладные истории как одно гос учреждение в РФ заказало софт в некотором институте, и этот софт заработал только на процессорах Интел, а на АМД вообще не запускается.
     
     
  • 2.16, Аноним (8), 16:10, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    И что такого, если есть примечание, что только для моделей Интел, которые были под рукой?
     
     
  • 3.21, Смузихеб забывший пароль (?), 17:19, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    ну хотя бы такого, что интел - одна из крупных международных контор, известных продвижением своей продукции посредством всевозможных междусобойчиков в т.ч коррупционных

    ещё забавней было со сбербанком и Эльбрусом. Тех. представители банка в своё время мельком упомянули, что "ну так уж и быть" протестировали сервер с Э., "хотя он в принципе не подходил по их требованиям".
    Оказалось, что до рассмотрения самих параметров железа, есть некий скрытый список требований к сервакам по... эргономике( расположение ручки/индикатора там-то и такого-то размера итд итп ). И вот как раз по этим требованиям изделие с Э. не подходило но без соответствия этим требованиям, даже до рассмотрения параметров по "железу" не дошло бы.
    Не подходили серваки и с серверными процами АМД. По удивительному совпадению этим критериям соответствовали лишь серваки на весьма дорогом серверном интоле, причём, серваки только определённых производителей )

     
     
  • 4.22, Аноним (7), 17:25, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >Не подходили серваки и с серверными процами АМД.

    Смузихеб в который раз врёт в открытую, Сбер собирает серваки как на Интел, так и на АМД. Даже на IBM были.

     

  • 1.23, Аноним (23), 17:42, 14/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Странные формулировки. Неискушённый человек может подумать, что это - компилятор языка Си. Это не язык Си, это язык основанный на синтаксисе Си. Понятие "расширения языка Си" - это совершенно определённый термин со своими правилами реализации, которым Intel ISPC не соответствует и конформным компилятром Си не является.
     
     
  • 2.24, Аноним (7), 17:50, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    https://ispc.github.io
     
  • 2.26, Аноним (25), 17:57, 14/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >предназначенный для сборки кода на языке Си с расширениями параллельного программирования SPMD (Single Program, Multiple Data)

    Компилятор Си + SPMD. Не?

     

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



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