Rhyddhau casglwr ISPC 1.31 a ddatblygwyd gan Intel ar gyfer yr iaith C gydag estyniadau SPMD

Mae Intel wedi cyhoeddi'r ISPC 1.31 (Crynoadur Rhaglen SPMD Ymhlyg), a gynlluniwyd i lunio cod C gydag estyniadau rhaglennu cyfochrog SPMD (Rhaglen Sengl, Data Lluosog), sy'n galluogi gweithredu cyfochrog sawl achos o un rhaglen gyda gwahanol setiau o ddata mewnbwn. Mae cod y prosiect wedi'i ysgrifennu yn C++ ac wedi'i ddosbarthu o dan y drwydded BSD. Mae'n cefnogi Linux, Windows, macOS a FreeBSD.

Mae rhaglenni C gydag estyniadau SPMD yn cael eu llunio i'w gweithredu ar unedau cyfrifiannol SIMD a ddarperir gan y CPU a GPU, sy'n eich galluogi i ddefnyddio mecanweithiau fectoreiddio SIMD heb optimeiddio lefel isel a defnydd penodol o gyfarwyddiadau SIMD yn y cod. I ysgrifennu ffwythiannau paraleladwy, defnyddir cystrawen ac idiomau cyfarwydd yr iaith C - mae ffwythiannau SPMD yn rhyngweithio'n uniongyrchol â ffwythiannau a strwythurau a ysgrifennwyd yn C/C++. Gellir defnyddio dadfygwyr presennol i ddadfygio rhaglenni.

Mae ISPC yn defnyddio'r seilwaith LLVM fel cefn ar gyfer cynhyrchu cod ac optimeiddio. Cefnogir cyfarwyddiadau fector x86 (SSE2, SSE4, AVX, AVX2, AVX512) ac ARM (NEON), yn ogystal â dadlwytho cyfrifiadau i ochr GPU (Intel Gen9 a Xe). Ar bensaernïaeth gyda blociau fector SSE yn prosesu 4 elfen ar y tro, mae'r defnydd o ISPC yn ei gwneud hi'n bosibl cyflawni cyflymiad gweithredu rhaglen 3 gwaith neu fwy, ac ar bensaernïaeth gyda blociau fector AVX yn prosesu 8 elfen ar y tro, gall cyflymiad gyrraedd 5- 6 gwaith. Ar ben hynny, yn ogystal â maint y bloc fector, mae graddio hefyd yn cael ei sicrhau trwy weithredu ar greiddiau prosesydd gwahanol.

Y datblygiadau arloesol allweddol a ychwanegwyd yn fersiwn ISPC 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.

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster