Standar pemrograman paralel OpenMP 6.0 diterbitake

Sawise telung taun pembangunan, seperangkat spesifikasi OpenMP 6.0 (Open Multi-Processing) wis diterbitake, nemtokake API lan metode kanggo ngetrapake metode pemrograman paralel kanggo basa C, C ++ lan Fortran ing multi-inti lan hibrida (CPU + GPU. / DSP) sistem karo memori sambungan lan pamblokiran vectorization (SIMD). Dhukungan awal kanggo fitur OpenMP 6.0 sing dipilih bakal kalebu ing rilis LLVM / Clang 20 lan GCC 15.

Owah-owahan utama ing OpenMP 6.0:

  • Proses tugas pemrograman wis disederhanakake, nemtokake bagean bebas saka program sing bisa dieksekusi bebarengan karo bagean liyane.
    • Nambahake kemampuan kanggo nindakake tugas ing utas agen bebas sing ora disambungake menyang klompok utas (tim) sing nglakokake wilayah paralel (wilayah paralel, blok kode sing dieksekusi ing sawetara utas).
    • Dhukungan diwenehake kanggo nyimpen taskgraph, sing nemtokake dependensi antarane tugas lan urutan tugas sing dileksanakake, kanggo nambah efisiensi muter maneh sakteruse.
    • Mekanisme kanggo tugas transparan wis dileksanakake kanggo nyederhanakake manajemen ketergantungan lan kanthi otomatis ngontrol eksekusi tugas anak.
  • Dhukungan sing ditambahi kanggo piranti komputasi sing bisa digunakake kanggo nindakake tugas paralel (CPU, GPU, DSP, lsp.).
    • Nambahake sintaks array anyar kanggo ngidini arahan "workdistribute" digunakake kanggo pamisah pangolahan array ing antarane unit kerja sing beda.
    • Kontrol alokasi memori wis ditingkatake supaya luwih gampang ngatur variabel sing memori diparengake kanthi dinamis.
    • Dhukungan kanggo atribut sing nemtokake cara data disebarake ing antarane piranti kanthi standar wis ditambahi.
    • Kode nulis sing disederhanakake kanggo transfer data asinkron menyang piranti komputasi tambahan (GPU).
    • Manajemen memori sing luwih apik lan ikatan karo piranti komputasi.
    • Nambahake arahan "groupprivate" kanggo nemtokake memori menyang klompok benang sing mlaku ing piranti komputasi tartamtu.
  • Pemrograman jinis transformasi loop tartamtu wis disederhanakake, kayata nggabungake pirang-pirang puteran, ngganti urutan puteran bersarang, lan puteran mbalikke.
  • Operasi induksi anyar wis ditambahake kanggo ngatur paralelisasi ing puteran petungan aritmetika sing prasaja lan operasi pangguna sing gumantung saka nilai sadurunge.
  • Nambahake dhukungan lengkap kanggo paralelisasi program sing ditulis nggunakake standar C23 (kalebu sintaks atribut), Fortran 2023 lan C ++ 23. Nambahake atribut anyar kanggo C/C++.
  • Kapabilitas panyimpenan lan manajemen memori sing ditingkatake. Atribut anyar wis ditambahake kanggo ngontrol carane memori kudu diparengake lan digunakake. Added API kanggo nemtokake lan query spasi memori.
  • Fitur sing ora digunakake ing spesifikasi OpenMP 5.0, 5.1, lan 5.2 wis dibusak.

Source: opennet.ru

Add a comment