Parallel Software Products
ParaWise Automatic Parallelisation of C and Fortran

ParaWise Version 4.0

Download a free trial version of ParaWise-4.0 for the Message Passing and OpenMP parallelization of Fortran code and now the OpenMP parallelization of C code.

Sample ParaWise OpenMP Speedup
Results using OpenMP on 64 threads for SEA
                      code

Sample ParaWise Message Passing Speedup
Speedup on 256 processors for nas-bt

ParaWise offers very significant benefits for parallelization consultants, Supercomputer support teams, scientists and application code developers.


Video: Using ParaWise for message passing parallelization
Video: Using ParaWise for OpenMP parallelization


ParaWise performs the process of parallel software development by reading serial C and/or Fortran code and generating effective, scalable and portable parallel code based on message passing or OpenMP or a hybrid of both. This translation to parallel form allows you to accelerate the execution of your application code by exploiting the power of parallel systems from Supercomputers to multicore processors.


ParaWise Arrows

ParaWise has been developed for over 20 years to give you:
  • Sophisticated, accurate, value based dependence analysis determining data flow information throughout an application code that is essential in all parallelzation stages, particularly in the detection of concurrency
  • Expertise embedded in the algorithms that provide automatic OpenMP and message passing parallelization reducing the learning curve for the user
  • Effective parallel code produced in a fraction of the time required for manual programming using OpenMP or Message Passing parallelization (often, a few minutes or hours)
  • Scalable parallel code that can effectively exploit many processors and threads, realizing the full potential of your computing environment
  • Parallel code portable to any parallel system that supports OpenMP and/or MPI
For the parallelization consultant or Supercomputer support team, ParaWise speeds and eases the OpenMP parallelization process by:
  • Automatic parallel loop determination, including loops containing call sites
  • Automatic variable scoping, generating PRIVATE, REDUCTION clauses etc. in the parallel code
  • Automatic parallel region construction, including routine calls containing parallel loops
  • Automatic detection and avoidance of unnecessary end-loop synchronization
Leaving you to concentrate on fine tuning parallel performance on the target HPC system.
For the scientist and application code developer, ParaWise eases continuous exploitation of HPC systems using OpenMP by:
  • Rapid parallelization of your application code without requiring you to gain expertise in OpenMP
  • Enhanced parallel performance needing only information about your application code
  • Simple repeat of parallelization for updates in your application code
Leaving you to concentrate on your science and developing your serial application code whilst still exploiting the power of HPC systems.

ParaWise provides equivalent benefits for porting sequential code to parallel form using Message Passing (MPI) parallelization.

The tools also enable improvement and tuning of the parallel code, achieved using an interactive environment for OpenMP and Message Passing parallelizations in the context of your application code. Answering simple questions about your code can assist ParaWise to produce effective and scalable parallel code. A toolbox of code transformations is also provided.