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

"Tycho parallelisation using OpenMP achieved in a few hours using ParaWise"

Speedup for Tycho

The Tycho simulation code consists of over 10000 lines of C code in 91 routines held in 46 files. It performs multi-dimensional compressible hydrodynamics simulations.
The serial version of the Tycho C source code was loaded into ParaWise and a dependence analysis was performed. Using this, ParaWise generates OpenMP code. This code was then compiled and run on 1 and 2 threads using the Oracle/Sun collect tool to gather performance timings. The runtime experiments were then imported into ParaWise to focus optimisation. This runtime information highlights where the most significant improvements to parallel performance can be obtained. Based on this, an investigation of why some loops were not initially parallelised revealed that with minor user interaction, they could be identified as legal for parallel execution. The subsequent OpenMP parallel version generated by ParaWise exhibits effective speedup and scalability onto significant numbers of processor cores. The parallelisation was performed in a few hours.

The OpenMP parallel code that was generated by ParaWise contained 60 parallel loops, 5 of which included reduction operations, held in 25 parallel regions. When parallel runtime data was loaded into ParaWise, a few parallel loops that suffer from significant load imbalance were identified. The OpenMP schedule for these loops was changed to be "dynamic" and the resultant parallel code demonstrated improved parallel performance.

The graph to the left shows speedup for Tycho run on up to 8 processor cores on an Intel dual-quad core Xeon processor system at PSP for the scramjet testcase.