- 1 uzel != 1 jádro
- typicky 1 uzel = 2 sockety
- jak probíhá komunikace mezi vlákny
- pouze MPI = záleží jestli na vláknech bude efektivnější komunikace než přes síť
- duplikace dat! → vytížení uzlů
- 1 MPI rank = 1 karta
- 2 ranky na socket, každý rank 2 GPU a 1 Network kartu
- parallel first touch - první zápis/čtení natáhne stránku do paměti daného uzlu
mpiexec ...
-bind-to core = spust ho na daém ranku a nesmí se přemístit
- rovnoměrné rozmístění
-by socket nebo -by node
- komunikace vypadnou z toho uzlu a všechny půjdou po síťové kartě
--np
-npp
- hodí se pro aplikace, které jsou hodně škálovatelné - 1 mil. ranků, málo komunikace, …
- Dvoufázová bariéra! nejdříve nad OpenMP a pak OpenMPI
- výrazná redukce duplikace dat!
- dobré pro problémy co nejsou bržděny numou
-by node
-bind-to none - vlákna zdědí bindování po procesech! - jiné nastavení by nabindovalo na 1. proces
- Skvělé pro memory bound problémy! (BLAS1, FFT)
by socket
-bind-to socket
mcc btl = openIb, tcp, eth, loopback, sm
- bit transfer level
- nejlepší je
sm - shared memory - pozná kdy komunikuje na sobě