MPI è utilizzato per eseguire il parallelismo su più nodi, poi CUDA è utilizzato per parallelizaare il codice eseguito sui core della GPU, Pthread/OpenMP è utilizato per prallelizare il codice in esecuzione sui core della CPU.
In questo corso non vederemo Pthread dato che è già stato visto a Sistemi Operativi 2 (class) e perché è meno intuitivo di OpenMP
djsflksjdflkòjfadsglkòjdfslakò
Thereading Levels in MPI
MPI_THREAD_SINGLE: il rank non ha il permesso di utilizzare più thread, quindi è equivalente a chiamare MPI_Init. QUindi non si può utilizzare ne Ptheread ne OpenMP
MPI_THREAD_FUNNELED
MPI_THREAD_SERIALIZED
MPI_THREAD_MULTIPLE