Pa4All is an open-source environment to do source-to-source transformations on C and Fortran programs for parallelizing, optimizing, instrumenting, reverse-engineering, etc. on various targets, from multicore system-on-chip with some accelerators up high-performance computers and GPU. From a C or Fortran application, Par4all automatically generates a parallel code, including CUDA-compilable on NVIDIA GPU. The generated code is readable and traceable with the original code without any calls to the Par4all tool chain. The original code remains the reference and future other technological choices are open. The process works like a usual compilation.
The current 1.0 version can generate CUDA code from C code and OpenMP from C and Fortran code with a simple easy to easy-to-use high-level script p4a. With this script, you can get a parallelized version of your sources or even call the backend compiler to generate executable binaries with gcc, nvcc or icc for example. Before the end of the year, a new version will concentrate on performance optimization for the generated code on NVIDIA FERMI processors. The automation offered by this open platform enables the developers to focus on the functions and algorithms of their applications. Par4All gives them the necessary support to manage their development life cycle and to follow the evolution of execution architectures.