https://courses.grainger.illinois.edu/cs484/sp2020/14.1_Hybrid_MPI_OpenMP.pdf