Kuburitswa kweISPC 1.31 compiler yakagadziridzwa neIntel yemutauro weC ine SPMD yekuwedzera

Intel yakaburitsa ISPC 1.31 (Implicit SPMD Program Compiler), yakagadzirirwa kuunganidza C code neSPMD (Single Program, Multiple Data) parallel programming extensions, iyo inogonesa parallel execution yezviitiko zvakawanda zvepurogiramu imwe chete ine seti dzakasiyana dze data rekupinda. Kodhi yepurojekiti yakanyorwa muC++ uye inogoverwa pasi peBSD rezinesi. Inotsigira Linux, Windows, macOS uye FreeBSD.

Mapurogiramu eC ane SPMD ekuwedzera anounganidzwa kuti aitwe paSIMD computational zvikamu zvinopihwa neCPU neGPU, izvo zvinokutendera kuti ushandise SIMD vectorization masisitimu pasina yakaderera-level optimizations uye zvakajeka kushandiswa kweSIMD mirairo mukodhi. Kunyora mabasa anoenzanirana, masintakisi uye madimikira emutauro weC anoshandiswa - SPMD mabasa anodyidzana nemabasa uye zvimiro zvakanyorwa muC/C++. Madebugger aripo anogona kushandiswa kugadzirisa zvirongwa.

ISPC inoshandisa zvivakwa zveLLVM senge yekumashure yekugadzira kodhi uye optimization. x86 (SSE2, SSE4, AVX, AVX2, AVX512) uye ARM (NEON) vector mirairo inotsigirwa, pamwe nekuburitsa kuverenga kudivi reGPU (Intel Gen9 uye Xe). Pazvivakwa zvine SSE vector inovhara kugadzirisa zvinhu zvina panguva, kushandiswa kweISPC kunoita kuti zvikwanise kuzadzisa chirongwa chekufambisa kukurumidza ne4 kana kupfuura nguva, uye pazvivakwa zvine AVX vector inovhara kugadzirisa zvinhu 3 panguva, kukurumidza kunogona kusvika 8- 5 nguva . Uyezve, mukuwedzera kune saizi yevhavhavhavha, kuyera zvakare kunovimbiswa nekuuraya pane akasiyana processor cores.

Makiyi matsva akawedzerwa muISPC vhezheni 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

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster