Giter Club home page Giter Club logo

Par4All version 1.4.6

The WWW site for the project is http://par4all.github.io

Par4all merges various free and open source developments. Par4All aims to achieve the migration of software to multi-core and other parallel processors, as well as to accelerating processors such as GPU. It is based on multiple components, including the source-to-source compiler framework PIPS (Inter Procedural Parallelization of scientific programs, the oldest research compiler still alive on Earth o/), and is developed by SILKAN, MINES ParisTech and Institut Télécom.

With one command line, Par4All automatically transforms C and Fortran sequential programs to parallel ones. It will offer code execution optimization on multi-core and many-core architectures without using any specific programming language.

Current version of Par4All takes C programs as input and generates OpenMP, CUDA and OpenCL programs. It also can transform Fortran programs to OpenMP. Further, these generated files can be compiled to get an executable to be executed on the target platforms, such as multi-core and GPU.

The main user interface in Par4All is the command-line interface p4a to invoke parallelization of the provided source codes, but also back-end compilation or automatic CMakeFile generation.

But the other commands from the PIPS project included in Par4All are also available: tpips and ipyps. Of course, they are reserved for quite more advanced users. For more information, look at http://pips4u.org

Since p4a is a script that interacts with PIPS to automatically parallelize the source code in an average way, it is of course interesting to dig into PIPS to apply specific transformations or change the value of some parameters to get better performance on a given application.

More on Par4All features:

  • Par4All supports almost complete C99;
  • Fortran 77 with some extensions is to be used for production. Work on Fortran95 is still in progress and is far from being usable yet;
  • OpenCL & CUDA:

    Par4All uses a static dataflow analysis to optimize communications between host and GPU and to remove redundant GPU array allocation. Have a look at --com-optimization option;

  • embedded systems:

    with OpenMP output, as any other shared memory multiprocessor systems, all the embedded systems that accept OpenMP can be addressed. For example in the SCALOPES ARTEMIS European project, the code generation for the Scaleo Chip Leon 3 MP-SoC is done through the OpenMP support of the target.

New features :

  • This version of Par4All can generate OpenCL host and kernel codes.
  • Generation codes for the SCMP dataflow architecture from CEA.
  • Generation for SIMILAN project.
  • Some more options on p4a, such as --atomic to use atomic operations for parallelizing reductions on GPU, --com-optimization to optimize communications between the host and the GPU, --kernel-unroll=... to unroll loops inside kernels...

Look at the changelog file for more details.

Hardware and software requirements

To install Par4All, GNU/Linux Debian or Ubuntu is preferred. For more detailed information about Par4All requirements and installation, please refer to Par4All installation guide.

Contact

Warning: Since the project is no longer supported by SILKAN, the

following is for information only. Use GitHub mechanisms instead.

SILKAN
9, route du Colonel Marcel Moraine
92360 Meudon La Forêt
FRANCE
Phone: +33 1 46 01 03 27
Fax: +33 1 46 01 05 46

Par4All support used to be at support at par4all.org

You can use the GitHub tools to get some kind of open community support instead.

11/11/11, 11:11:11

Par4All's Projects

par4all icon par4all

Par4All is an automatic parallelizing and optimizing compiler (workbench) for C and Fortran sequential programs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.