Saatos pamekaran tilu taun, sét spésifikasi OpenMP 6.0 (Open Multi-Processing) parantos diterbitkeun, netepkeun API sareng metode pikeun nerapkeun metode program paralel pikeun basa C, C ++ sareng Fortran dina multi-inti sareng hibrida (CPU + GPU. / DSP) sistem kalawan memori dibagikeun jeung blok vectorization (SIMD). Pangrojong awal pikeun fitur OpenMP 6.0 anu dipilih diperkirakeun kalebet dina LLVM / Clang 20 sareng GCC 15 rilis.
Parobihan utama dina OpenMP 6.0:
- Prosés tugas programming geus disederhanakeun, nangtukeun bagian bebas tina program nu bisa dieksekusi sajajar jeung bagian séjén.
- Ditambahkeun kamampuhan pikeun ngalakukeun tugas dina bebas-agén threads nu teu kabeungkeut grup threads (tim) nu ngaéksekusi wewengkon paralel (wilayah paralel, blok kode dieksekusi dina sababaraha threads).
- Rojongan disadiakeun pikeun nyimpen taskgraph, nu ngahartikeun kagumantungan antara tugas jeung urutan nu tugas dieksekusi, pikeun ngaronjatkeun efisiensi replay saterusna.
- Mékanisme pikeun tugas transparan parantos dilaksanakeun pikeun nyederhanakeun manajemén kagumantungan sareng otomatis ngadalikeun palaksanaan tugas anak.
- Ngalegaan rojongan pikeun alat komputasi nu bisa dipaké pikeun ngalakukeun tugas paralel (CPU, GPU, DSP, jsb).
- Nambahkeun sintaksis Asép Sunandar Sunarya anyar pikeun ngidinan "workdistribute" diréktif dipaké pikeun pamisah processing Asép Sunandar Sunarya antara unit béda gawé.
- Kadali alokasi memori parantos ditingkatkeun pikeun ngagampangkeun ngatur variabel anu mémori dialokasikeun sacara dinamis.
- Rojongan pikeun atribut anu nangtukeun kumaha data disebarkeun antara alat sacara standar geus dimekarkeun.
- Kode tulisan saderhana pikeun transfer data asinkron ka alat komputasi tambahan (GPU).
- Ningkatkeun manajemén mémori sareng ngabeungkeutna kana alat komputasi.
- Ditambahkeun "groupprivate" diréktif pikeun napelkeun memori ka grup threads ngajalankeun dina alat komputasi husus.
- Program sababaraha jinis transformasi loop parantos disederhanakeun, sapertos ngahijikeun sababaraha puteran, ngarobih urutan puteran bersarang, sareng puteran ngabalikeun.
- Operasi induksi anyar geus ditambahkeun pikeun ngatur parallelization dina puteran itungan arithmetic basajan tur operasi pamaké nu gumantung kana nilai saméméhna.
- Ditambahkeun dukungan pinuh pikeun paralélisasi program anu ditulis nganggo standar C23 (kaasup sintaksis atribut), Fortran 2023 sareng C ++ 23. Ditambahkeun atribut anyar pikeun C / C ++.
- Panyimpen ditingkatkeun sareng kamampuan manajemén mémori. Atribut anyar geus ditambahkeun kana kontrol kumaha memori kudu dialokasikeun sarta dipaké. Ditambahkeun API pikeun nangtukeun jeung querying spasi memori.
- Fitur anu teu dianggo dina spésifikasi OpenMP 5.0, 5.1, sareng 5.2 parantos dipupus.
sumber: opennet.ru
