Parallel Software Products
Please select sample OpenMP parallelisations of C code performed by ParaWise from the menu below:

"The Nast2D parallelisation using OpenMP achieved in a few hours using ParaWise"

Nast2D OpenMP timings

Nast2D is a C code consisting of over 3300 lines in 36 routines held in 11 files that solves Fluid Dynamics problems using Navier-Stokes equations on a structured computational mesh.

The OpenMP parallel code generated by ParaWise was produced in a few minutes and has 44 parallel loops, 7 of which involve reduction operations and one is in a pipeline. Although the parallelisation performed by ParaWise exploits sufficient parallelism to achieve speedup and scalability, many parallel loops exhibit a significant amount of imbalance due to computations in each iteration only being performed under certain conditions. To reduce the effect of this imbalance, the parallel loops that suffer from the most significant imbalance were identified from runtime profile information loaded into ParaWise, and the schedule was change to the OpenMP dynamic schedule.

The graph to the left shows the runtime reducing as more threads are used on the dual quad-core processor system at PSP for the AutoA test case.