moc pekny clanek. dotaz na autora, pouzivate tohle ve sve praci na svoje vypocty?
pamatuji kdysi davno kolem 2004 jsem kolegum skladal cluster s mpi pro vypocty molekularni dynamiky a monte carlo. tehdy to byly kompy se dvema sloty cpu a koupili si i intelacky kompiler, takze jsem knihovny prekompiloval s nim. byli spokojeni, ze jsou vypocty o dost rychlejsi nez s gcc.
Ano, MPI v práci používáme. Třeba v molekulární dynamice LAMMPS. Teď jsem to zkoušel kompilovat Intel kompilátorem (je zdarma, nějakou dobu se ale myslím opravdu musel platit). Tak je to o trochu rychlejší, mají tam avx512 instrukce, které gcc z nějakého důvodu neudělá. Ale je tam nějaký velký problém s pamětí, špatná alokace. Jeden problém na GitHubu hned vyřešili, ale pořád to blbne. Takže nevím, jestli to někdo aktivně s Intel kompilátorem a velkými vzorky používá.
Na test HPL nemá použití Intel kompilátoru vliv. On by použil ten BLAS z MKL, ten asi bude optimální, ale myslím si, že třeba ten OpenBlas na x86 je na tom stejně.
Fugaku s procesory AMD A64FX a výkonem v HPL 442 PFlop/s.
Asi překlep, mělo být ARM.
Jinak děkuji za článek a rád v něm informace v případě svolení s referencí využiji v předmětu Pokročilé architektury počítačů, kde také MPI a OpenMP figuruje spíše v roli praktického využití a testování probírané látky o mechanizmech zvýšení propustnosti počítačových systémů. Pokud by byly i nějaké návrhy, na algoritmy a jejich implementaci, které by mělo i pro další smysl vyzkoušet, tak bych je přidal jako inspiraci k různým námětům na jeden z úkolů předmětu (nyní si většinou studenti volí ostření obrázku, násobení matic, šíření tepla, někdo i lokalizaci robota s metodou Monte Carlo s daty z lidaru podle simulovaných a naměřených dat).
V přednáškách jsou i kapitoly o superpočítačích, jejich architekturách a propojovacích sítích.
Tento týden jsem i nějaký základní vývoje procesorů i včetně Fugaku přehled prezentoval v rámci bakalářského úvodu do architektur počítačů. Již starší video z InstallFestu zde.
Rekl bych, ze to hodne zavisi na tom co chces dosahnout, a predevsim, kolik na to mas penez.
Typicky nejlevnejsi je totiz postup "hrubou silou"
Ale jinak bych rek, ze BOINC stale funguje, i kdyz uz nepocita SETI z Areciba. Takze si to muzes otestovat v praxi. Kdyz si vyberes spravny projekt, jede to jak na GPU tak na CPU tak samozrejme na hromade samostatnych pocitacu.
CPU a GPU se často “míchá”, ale záleží samozřejmě na úloze. Zrovna OpenCL umí obojí transparentně, ale už je trochu za zenitem. V mém případě je dost často stěžejní rychlost paměti a pokud je sdílená (například M2), tak mezi CPU a GPU není moc rozdíl. Člověk by mohl různě optimalizovat, ale často stačí napsat kód jednoduše a rychle, třeba ve Fortranu nebo Julii.
Tento zpusob vyhodnocovani vykonu je spise vhodny pro 'ladeni' celeho HPC. Pro verejne zakazky pouzivam SPEC rate. Je oprosten od vlastnosti ruznych nastaveni OpenMPI/MVAPICH (casto chybnych) a znacne problematicke cinnosti OFED Infiniband (uz jsem zahodil, na nVidii fakt nemam nervy.. zcela jinej pribeh) a samozrejme kompromisni storage. SPEC index vyrobci zverejnuji a da se pouzivat pro vypocty. Jako zatezovy test se ale Linpack take nehodi.
Dosahnout nominalniho indexu je obcas obtizne i proto, ze jsou vyzadovany konkretni nastaveni CPU. Bezne narazim na problem, ze takove nastaveni neni mozne ani v rozsahu celeho HPC provest a je treba spise celkovy index dopocitat.
jeste poznamka.. Amiku jsem se na ISC ptal, jak to vlastne delaj.. Jak Summit apod. benchmarkuji (ono to je dost heterogenni zarizeni).. odpoved mi celkem vzala dech a nebudu ji zde prezentovat.. :))..a dotazy u dalsich se potvrdilo, ze to je dost casty jev (snad mimo university).
Osobni zkusenost je spis takova, ze si pro konkretni cinnosti vytvarim vlastni testy. Linpack dost veci skryje. Teprve pak jsem schopen jit na t dodavatele s konkretni veci - nicmene - zkusenost je takova, ze ani pak to neni schopen resit (nebo spise ochoten) :((..
22. 5. 2023, 12:56 editováno autorem komentáře