Hoʻokuʻu ʻia ka ISPC 1.31 compiler i hoʻomohala ʻia e Intel no ka ʻōlelo C me nā hoʻonui SPMD

Ua paʻi ʻo Intel i ka ISPC 1.31 (Implicit SPMD Program Compiler), i hoʻolālā ʻia e hōʻuluʻulu i ke code C me nā hoʻonui papahana like ʻole SPMD (Single Program, Multiple Data), e hiki ai ke hoʻokō like ʻia o nā hiʻohiʻona he nui o kahi polokalamu hoʻokahi me nā ʻano ʻikepili hoʻokomo like ʻole. Ua kākau ʻia ke code papahana ma C++ a ua hoʻolaha ʻia ma lalo o ka laikini BSD. Kākoʻo ia Linux, Windows, macOS a me FreeBSD.

Hoʻopili ʻia nā papahana C me nā hoʻonui SPMD no ka hoʻokō ʻana i nā ʻāpana helu SIMD i hāʻawi ʻia e ka CPU a me GPU, e hiki ai iā ʻoe ke hoʻohana i nā mīkini vectorization SIMD me ka ʻole o ka haʻahaʻa haʻahaʻa haʻahaʻa a me ka hoʻohana pono ʻana i nā ʻōlelo aʻoaʻo SIMD i ke code. No ke kākau ʻana i nā hana parallelizable, hoʻohana ʻia ka syntax maʻamau a me nā idioms o ka ʻōlelo C - Hoʻopili pololei nā hana SPMD me nā hana a me nā hale i kākau ʻia ma C/C++. Hiki ke hoʻohana ʻia nā mea hoʻopau i kēia manawa no ka hoʻopau ʻana i nā polokalamu.

Hoʻohana ʻo ISPC i ka ʻōnaehana LLVM ma ke ʻano he backend no ka hoʻokumu code a me ka optimization. x86 (SSE2, SSE4, AVX, AVX2, AVX512) a me ARM (NEON) nā kuhikuhi vector i kākoʻo ʻia, a me ka hoʻoiho ʻana i nā helu i ka ʻaoʻao GPU (Intel Gen9 a me Xe). Ma nā hale hana me nā poloka vector SSE e hoʻoili ana i nā mea 4 i ka manawa, hiki i ka hoʻohana ʻana i ka ISPC ke hiki ke hoʻokō i ka wikiwiki o ka hoʻokō ʻana o ka papahana ma 3 a ʻoi aku paha nā manawa, a ma nā hale kiʻi me nā poloka vector AVX e hana ana i nā mea 8 i ka manawa, hiki i ka wikiwiki ke hiki i 5- 6 manawa . Eia kekahi, ma kahi o ka nui o ka poloka vector, hōʻoia ʻia ka scaling e ka hoʻokō ʻana i nā cores processor like ʻole.

Hoʻohui ʻia nā mea hou i ka ISPC version 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.

Source: opennet.ru

E kūʻai i ka hoʻokipa hilinaʻi no nā pūnaewele me ka pale DDoS, nā kikowaena VPS VDS 🔥 E kūʻai i ka hoʻokipa pūnaewele hilinaʻi me ka pale DDoS, nā kikowaena VPS VDS | ProHoster