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
