Hybrid parallel programming is the practice of combining multiple
parallel programming models within a single application. Hybrid
programming with MPI as an outer level of parallelism and
OpenMP or threads as an inner, nested level of parallelism is becoming
increasingly popular and has been extensively explored