Bilateralni WEAVE projekt FNR-ARIS v sodelovanju z univerzo v Luxemburgu ima spletno stran https://hexapic.github.io/project-website s podrobnim opisom projektne skupine, hipotez in ciljev ter izvajanjem po korakih z mejniki in predvidenimi rezultati.
Delčna koda in dokumentacija s primeri je na spletni strani https://lecad-peg.github.io/hexapic
Raziskovalni projekti so (so)financirani s strani Javne agencije za znanstvenoraziskovalno in inovacijsko dejavnost Republike Slovenije
- Članica UL: UL Fakulteta za strojništvo
- Šifra projekta: N2-0335
- Veda: Tehnika
- SICRIS: HEXAPIC – Delčna koda za heterogene računalniške arhiteture na ravni eksa
Projektno obdobje M1-M18 (september 2024 do marec 2026)
S projektom Heterogeneous Exascale Particle-In-Cell (HEXAPIC) nameravamo znatno skrajšati čas simulacije plazme popolnoma kinetičnega pristopa in hkrati povečati stopnjo kompleksnosti opisa plazemskih procesov in tako omogočimo visoko realistične kinetične simulacije različnih tehnoloških procesov, povezanih s plazmo v razumnih časovnih skalah.
Dvostransko partnerstvo z Univerzo v Luksemburgu (uni.lu) obsega raziskave in razvoj v več delovnih paketih (WP), ki so enavredno razdeljeni po obsegu dela in poročani kot rezultati ter realizacija po WP v nadaljevanju.
Vodenje projekta WP1
Tako uni.lu kot uni-lj.si partnerja prispevata svoje obsežno znanje in izkušnje za učinkovito vodenje projektov.
Projekt je vzpostavil spletno stran za projekt [1] in za kodo HEXAPIC [2] na Githubu. Redni sestanki in delovne skupine po WP so bili vzpostavljeni po načrtu. Oba partnerja (uni.lu in uni-lj.si) sta med projektom pričela septembra 2024 s tem da je bilo neformalno sodelovanje vzpostavljeno že prej.
Moduli za fiziko plazme WP2
WP2 razvija vsestransko in učinkovito kinetično plazemsko kodo z izvajanjem algoritemskih izboljšav in optimizacij, ki temeljijo na napredku drugih delovnih paketov.
Razvili smo kodo Particle-In-Cell (PIC) za simulacije plazemske fizike, ki obsega več modulov: i) premikalnik delcev (Borisov algoritem) za nabite in nevtralne delce, ii) elektrostatični reševalnik polj (HYPRE multimreža) z različnimi robnimi pogoji (absorpcijski, reflektivni in periodični za delce, Dirichlet, Neumannov in periodični za polja), iii) viri in ponori za delce in energijo (ravninski in volumetrični), iv) Monte-Carlo kolizijski modul za interakcije nabitih in nevtralnih delcev (elastični, vzbujani, ionizacija in izmenjava naboja) ter v) modul za interakcije plazma in površina (udar elektronov in sekundarna emisija elektronov pri udaru ionov, recikliranje ionov v nevtralne dele) [2].
V tem delovnem paketu so bile vse naloge opravljene in doseženi vsi mejniki.
Primeri uporabe v fiziki plazme WP3
WP3 razvija reprezentativne primere uporabe iz različnih področij plazemske fizike, da pokaže sposobnost HEXAPIC kode za simulacijo velikih sistemov s kompleksnimi robnimi pogoji, hkrati pa služi kot razvojni gonilo za WP2 in merilo zmogljivosti za WP4 in WP5
Vzpostavili smo PIC model tokamaka SOL z divertorjem za HEXAPIC (mejnik M3.1) in potekajo testi na VEGA HPC [2].
Simulacije plazme WP4 o heterogeni arhitekturi
WP4 raziskuje učinkovito uporabo kompleksnih heterogenih HPC arhitektur (pred-eksaskalnih in eksaskalnih) z izbiro in prilagajanjem ustreznih programskih modelov, s posebnim poudarkom na večvozliščni skalabilnosti ter prilagodljivosti, geometriji in reševalnikih.
Preučevali smo uporabo knjižnice Alpaka3 (Abstraction Library for Parallel Kernel Acceleration) v HEXAPIC. Razvili smo osnovni PIC potek dela, ki je neodvisen od platforme in podpira sočasno ter sodelovalno uporabo več naprav, vključno z gostiteljskimi procesorji (x86, ARM, RISC-V in Power8+) ter grafičnimi karticami različnih proizvajalcev (NVIDIA, AMD in Intel). Na voljo je več različnih pospeševalnih vmesnikov – CUDA, HIP, SYCL, OpenMP in serijsko izvajanje – ki jih je mogoče izbrati glede na ciljno napravo. Potrebna je le ena implementacija uporabniškega jedra, izražena kot funkcijski objekt s standardiziranim vmesnikom, kar odpravlja potrebo po pisanju specializirane CUDA, HIP, SYCL, OpenMP ali nitne kode [6].
Naš partner, Univerza v Luksemburgu, je raziskal in razvil vtično različico različice HYPRE poljskega reševalnika (z uporabo CUDA/OpenACC), ki se uporablja z MPI različico HEXAPIC-a, ki uporablja samo CPU.
Za tekoče poročevalsko obdobje ni bilo predvidenih nobenih mejnikov ali rezultatov, razen splošnih znanstvenih publikacij.
Simulacije plazme WP5 na eksaskalnih HPC napravah
WP5 omogoča razširljive in prenosljive plazemske simulacije na pred-eksaskalnih in eksaskalnih sistemih z naslavljanjem prenosljivosti, razdeljevanjem podatkov, komunikacijo, izzivi I/O in integracijo programskega modela, razvitega v WP4, s posebnim poudarkom na geometriji, prilagodljivosti, reševalcih in MPI.
Izboljšali smo PIC paralelni I/O (Naloga 5.1) z uporabo openPMD (Open Standard for Particle-Mesh Data) z ADIOS2 (Adaptable Input Output System različica 2) backendom. Ta pristop se osredotoča na razširljivost zmogljivosti I/O v aplikacijah visokozmogljivega računalništva (HPC) in prilagodljivost iz enotnih vmesnikov, ki omogočajo več načinov prenosa (datoteke, povezava med pomnilnikom).
Izvedli smo močne in šibke teste skaliranja na VEGA HPC z uporabo CPU-only MPI različice HEXAPIC [8]. Test močnega skaliranja je omejen s količino pomnilnika, ki ga lahko ima eno HPC vozlišče; zato je šibko skaliranje bolj reprezentativno za PIC kode. Šibko skaliranje razkriva vzporedno učinkovitost >85 % pri 32768 jedrih procesorja.
Za tekoče poročevalsko obdobje ni predvidenih nobenih mejnikov ali rezultatov, razen splošnih znanstvenih publikacij.
[1] Spletna stran projekta HEXAPIC https://hexapic.github.io/project-website/
[2] Izvorna koda HEXAPIC https://github.com/LeCAD-PEG/hexapic
[3] S. Costea et al. Heterogeneous exascale Particle-in-Cell, ASHPC (2025), COBISS.SI-ID – 270248963
[4] I. Vasileska et al. Accelerating sheath particle-in-cell simulations with StarPU, MIPRO (2025) COBISS.SI-ID – 244993795
[5] N.Vukašinović, U.Urbas, L.Kos, I.Vasileska, Accelerating Particle-in-Cell simulations in Tokamak Scrape-off Layer using segmented surrogate models, EngAppAI (2026) COBISS.SI-ID – 270229507
[6] I. Vasileska et al. Unveiling performance insights and portability achievements between CUDA and SYCL for particle-in-cell codes on different GPU architectures, MIPRO (2024), COBISS.SI-ID – 245014531
[7] Unveiling performance insights and portability achievements between CUDA and SYCL for particle-in-cell codes on different GPU architectures, MIPRO (2024), COBISS.SI-ID – 245014531
[8] Dokumentacija za skaliranje kode HEXAPIC: https://lecad-peg.github.io/hexapic/scaling/