Liberasyon ISPC 1.31 du devlope pa Intel pou lang C ak ekstansyon SPMD

Intel pibliye ISPC 1.31 (Implicit SPMD Program Compiler), ki fèt pou konpile kòd C ak ekstansyon pwogramasyon paralèl SPMD (Single Program, Multiple Data), ki pèmèt ekzekisyon paralèl plizyè egzanp yon sèl pwogram ak diferan ansanm done antre. Kòd pwojè a ekri an C++ epi li distribye anba lisans BSD. Li sipòte Linux, Windows, macOS ak FreeBSD.

Pwogram C ki gen ekstansyon SPMD yo konpile pou egzekisyon sou inite enfòmatik SIMD yo bay CPU ak GPU, ki pèmèt ou sèvi ak mekanis vektorizasyon SIMD san yo pa optimize nivo ki ba ak itilizasyon eksplisit enstriksyon SIMD nan kòd la. Pou ekri fonksyon paralelizable, yo itilize sentaks abitye ak langaj langaj C - fonksyon SPMD dirèkteman kominike avèk fonksyon ak estrikti ki ekri nan C/C++. Debuggers ki deja egziste yo ka itilize pou debogaj pwogram yo.

ISPC itilize enfrastrikti LLVM kòm yon backend pou jenerasyon kòd ak optimize. Enstriksyon vektè x86 (SSE2, SSE4, AVX, AVX2, AVX512) ak ARM (NEON) yo sipòte, osi byen ke dechaje kalkil sou bò GPU (Intel Gen9 ak Xe). Sou achitekti ak blòk vektè SSE ki trete 4 eleman nan yon moman, itilizasyon ISPC fè li posib reyalize akselerasyon ekzekisyon pwogram nan 3 fwa oswa plis, ak sou achitekti ak blòk vektè AVX trete 8 eleman nan yon moman, akselerasyon ka rive nan 5-. 6 fwa. Anplis de sa nan gwosè a nan blòk vektè a, dekale tou asire pa ekzekisyon sou nwayo processeur diferan.

Inovasyon kle te ajoute nan ISPC vèsyon 1.31:

  • Добавлена экспериментальная поддержка 64-разрядной little-endian архитектуры PowerPC (ppc64le). По умолчанию осуществляется сборка для POWER ISA 2.7 (POWER8+) с расширениями VSX (Vector Scalar Extension).
  • Добавлены новые сборочные цели avx10.2nvl-x4, avx10.2nvl-x8, avx10.2nvl-x16, avx10.2nvl-x32 и avx10.2nvl-x64, реализующие поддержку расширенный наборов инструкций AVX10.2 (Advanced Vector Extensions) и APX (Advanced Performance Extensions) для процессоров на базе микроархитектуры Intel Nova Lake.
  • В диспетчеризаторе обеспечен выбор вариантов сборочных целей с поддержкой AMX (avx512spr, avx512gnr, avx10.2dmr) только при реальной поддержке расширений AMX (Advanced Matrix Extensions) в операционной системе и CPU.
  • Добавлена опция «—opt=disable-apx» для выборочного отключения отдельных возможностей x86 APX (egpr, ndd, push2pop2, ppx, ccmp, cf, nf, zu и jmpabs), которые по умолчанию включены в поддерживающих APX сборочных целях, таких как avx10.2dmr и avx10.2nvl.
  • Добавлены сбалансированный («balanced») и агрессивный («aggressive») режимы оптимизации математических вычислений, включаемые через опцию «—opt=fast-math» и более агрессивные по сравнению с применяемым по умолчанию режимом оптимизации.
  • В сандартную библиотеку добавлены новые математические функции:
    erf, erfc (функции ошибок Гаусса), expm1 (точное вычисление «exp(x)-1»), log1p («log(1+x)»), sinh, cosh и tanh (гиперболические синус, косинус и тангенс). Повышена точность и производительность функций asin, acos, atan и log.
  • Значительно повышена производительность 32-битных операций перестановки (shuffles) для сборочной цели avx2-i32x16 и вычислений popcnt для целей avx2-i8x32, avx512skx-x32 и avx512skx-x64.
  • Инструментарий LLVM обновлён до находящейся в разработке ветки 23.

Sous: opennet.ru

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster