The NAS-BT code (sometimes referred to as APPBT or NPB-BT) is one of the NAS Parallel Benchmarks (NPB). The code uses an implicit algorithm to compute a finite difference solution to the 3D compressible Navier-Stokes equations. The solution is based on a Beam-Warming approximate factorisation. The approximate factorisation decouples the three dimensions. This leads to three sets of regularly structured systems of linear equations. The resulting equations are block tridiagonal which are solved using the Thomas algorithm (Gaussian elimination) without pivoting of a banded system. The results were provided by Dr H. Jin at NASA Ames.

Code information: 4500 lines of source and 18 subroutines

Total Parallelization Time using ParaWise/CAPO : Approximately 1 hour.

User Time: Approximately 10 minutes.

  Results

bullet

Fortran77

bullet

Fortran 90

Fortran 77

These results are for a Class A (64x64x64) size problem executed on an SGI Origin 2000 (NASA Ames).

Key To Graph :

NPB2.3d : NASA manual MPI parallelisation.

directive : OpenMP directives inserted by hand.

SGI-pfa : Directives inserted by SGI-pfa compiler.

CAP-MPI : ParaWise generated message passing.

CAP-dir : OpenMP directives inserted automatically by ParaWise (CAPO).

Summary of OpenMP directives inserted by CAPO

PARALLEL regions : 13

PARALLEL + DO regions : 3

Parallel DO loops : 53

ATOMIC/CRITICAL sections : 2

REDUCTION loops: 3

Fortran 90

These results are for a Class C (128x128x128) size problem executed on an SGI Origin 3000 (NASA Ames). The results show speed ups obtained by OpenMP directives inserted automatically by ParaWise (CAPO) and those generated using the SGI auto-parallelizing compiler options.