Parallel Software Products

Performance on an SGI Origin 2000

Hybrid results

   NASA INS3D Code

INS3D is a multi-zone code from NASA Ames which solves the incompressible Navier-Stokes equations for both steady-state and unsteady flows. The parallelization strategy employed a manually implemented parallelisation using MPI for inter-zone parallelism and OpenMP directives generated by ParaWise for intra-zone parallelism.

Manual MPI parallelization was performed by T.Faulkner and J.Dacles-Mariani at NASA.

OpenMP parallelization within a zone performed using CAPO.

Hybrid MPI and OpenMP Results

The results are for a 19.2 million grid points Space Shuttle Main Engine (SSME) turbo-pump impeller test case on an SGI Origin 2000.  (Results courtesy of  C. Kiris, NASA Ames).

In this case, the most effective performance is achieved by the 20 MPI group results where the 20 processor run used a single thread in each MPI group and the 200 processor run used 10 OpenMP threads on each MPI group. The most effective balance of MPI groups and OpenMP threads per group is obviously dependent on the application code, the test case being performed and the parallel machine being used. Experimentation is often required to identify the best scenario for a particular case.

Summary of OpenMP directives generated

PARALLEL Regions : 95

PARALLEL + DO Regions : 297

Parallel DO Loops : 251

REDUCTION Loops : 79


Regions with FIRSTPRIVATE : 2

Duplicated Routines : 13