This installation guide is for Par4All version 1.4
This document can be found in PDF format on http://download.par4all.org/doc/installation/par4all_installation_guide.pdf and in HTML on http://download.par4all.org/doc/installation/par4all_installation_guide.htdoc.
You can install Par4All in different ways, more or less automatic. The easiest way to install Par4All is to use update manager or tarball files. If you are interested in a more advanced installation from the sources, you can clone the Par4All git repository.
This document describes these different ways of installing Par4All as well as the prerequisites of the installation and the way to verify that your installation is correctly done.
Current version of Par4All should work on any GNU/Linux distribution, especially Debian, Ubuntu and Fedora.
To run Par4All with Debian or Ubuntu, the following packages are needed:
cproto, gfortran, gnuplot, ipython, libmpfr-dev, libncurses5, libpython, libreadline5, python, python-ply.
If you get a precompiled version of Par4All, you may select a more specific Python version.
To run Par4All with Fedora Core 15, 14 or 13, the following packages are needed:
cproto, gnuplot, ncurses-5, readline, python, python-ply, python3, gcc-gfortran, ipython.
The following packages need to be installed especially if you use a less automatic way of installation such as a tarball file, or if you install from the sources.
To compile Par4All with Debian or Ubuntu, the following additional packages are needed:
cproto, indent, flex, bison, automake, libtool, autoconf, libreadline6-dev, python-dev, swig, python-ply, libgmp3-dev, libmpfr-dev, gfortran, subversion, git, wget
In Ubuntu 11.10 there is a bug in the libtinfo-dev and libtinfo5 packages that prevents tpips from being compiled. If you are really brave, you can try to download manually the Debian packages and force their installation with:
The links drom Debian/unstable are expected to change. So look at http://packages.debian.org/sid/amd64/libtinfo5/download and http://packages.debian.org/sid/amd64/libtinfo-dev/download. See https://bugs.launchpad.net/ubuntu/+source/ncurses/+bug/900635 for the bug report.
To compile Par4All with Fedora Core 15, 14 or 13, the following additional packages are needed:
cproto, indent, flex, bison, automake, libtool, autoconf, readline-devel, python-devel, swig, python-ply, gmp-devel, mpfr-devel, gcc-gfortran, subversion, git, wget
To compile the documentation with Debian or Ubuntu, the following additional packages are needed:
python-docutils, texlive-full, tex4ht
To compile the documentation with Fedora Core 15, 14 or 13, the following additional packages are needed:
texlive, tex4ht
To compile and to run the cuda and OpenCL output, you should have the following environment variables set:
This section represents different ways to install Par4All.
The installation is done into /usr/local/par4all. If you want Par4All installed in another location, have a loot at the section 3.6 for a binary installation and at the section 3.8 for the installation from the sources.
The best way if you are on GNU/Linux Debian or Ubuntu is to use our package repository. This way, when a new version is out, your classical package manager can automatically install it.
To use our package repository, pick one of the following lines, and add it graphically with the Update Manager with Settings/Third-Party Software or append it with a text editor to your /etc/apt/sources.list, if you are using Ubuntu:
or if you are running Debian::
So you need to choose between releases or development versions. Development packages are generated often, may be unstable, and are best suited if you want to track more closely the Par4All development.
Once this is done, run your favorite graphics package tool (synaptic...) or:
To set your environment up and test your Par4All installation, please refer to the section 4.
A less automatic way on Debian or Ubuntu is to install a Par4All .deb package manually.
For release versions, according to your OS and architecture, download a package from:
For development versions, according to your OS and architecture, download a package from:
You can then install the package with:
or
The second one would also work but does not automatically install dependencies you should install later.
An even less automatic way is to use a tarball .tar.gz file. It contains the binaries as built on a stable Ubuntu or unstable Debian distribution.
It should work also on any GNU/Linux distribution with the following libraries installed: (a fairly recent) libc.so.6, libncurses.so.5, libreadline.so.6, etc. and Python 2.7. We chose this Python version because it is recent enough to provide nice features for Par4All and not too recent to be absent from most Linux distributions. See the section 2 to have the list of some needed packages.
If you are not on Debian on Ubuntu, try one of the following, it may work.
For the 64-bit x86 architecture, according to the OS and version you want, download a ..._x86_64.tar.gz file from
For the 32-bit x86 architecture, according to the OS and version you want, download a ..._i686.tar.gz file from
Once you have downloaded one of these .tar.gz packages from http://download.par4all.org, extract it with the following command::
It will create a directory named par4all. Move this directory to its final location:
Then please go to the section 4 to get information on how to set up your environment and to test your installation.
This is not the preferred way to work, but it can be useful for people who cannot use a precompiled version.
First get a source tar ball in the following directories (Ubuntu or Debian do not matter here) :
Pick up a file with a name ending with _src.tar.gz. You can decompress it with a tar zxvf.
On https://git.hpc-project.com/cgit/par4all you can find the snapshots in the Download section in .zip, .tar.gz or .tar.bz2.
By tweaking the URL of a tag snapshot you can even get a snapshot from any branch or commit, not only tag. For example the last snapshot of the p4a integrated branch is in:
https://git.hpc-project.com/cgit/par4all/snapshot/p4a.tar.bz2
Please refer to the section 3.5 to get to know how to install Par4All from the sources.
From the Par4All source directory, Par4All is compiled and configured by running src/simple_tools/p4a_setup.py. See http://www.par4all.org/documentation/par4all_organization for details.
To download and compile Par4All from the git, do the following:
Par4All will be installed into /usr/local/par4all by default. The target directory must be writable by the installer, either by running as root with sudo or by creating first a writable target directory as follows:
To install in another location, the --prefix option can be used, for example to choose /opt/par4all.
Warning: do not use plain system directory names such as /usr or /usr/local because some system files such as /usr/include/assert.h may be overwritten and havoc may happen...
To see more installation options (including specifying the locations for other packages), run p4a_setup.py -h or see section 3.8.
To pull a new version, do:
and run p4a_setup.py again. The --rebuild and --clean parameters should be used to ensure that all sources are recompiled (since pips is a frequently-updated project, incremental build is not always guaranteed to succeed). Removing the build directory when the --prefix directory changes is also recommended in order to remove obsolete information about the installation directory that may remain in the build directory and cause the compilation to fail.
If needed a Par4All binary installation can be relocated. There are a few ways to relocate it:
After having installed Par4All in a new installation directory (not the default one), par4all-rc.sh should be updated. P4A_DIST and P4A_ROOT variables in the par4all-rc.sh should be changed according to this new installation directory. The following examples are for the cases 1 and 2.
Relocation has been done by copying all the binary installation (case 1):
Relocation has been done using dpkg -x command (case 2) :
To get information on a more advanced installation please see http://www.par4all.org/documentation/par4all_developer_guide
This section concerns the installation with compilation from the Par4All sources. The compilation and installation of Par4All is controlled by the p4a_setup.py script, with the usage and options described in this section.
Usage: p4a_setup.py [options]; run p4a_setup.py --help for options
In any case, you will then need to source one of the following shell scripts which set up the environment variables for proper Par4All execution:
Once you set your environment up, you can, for example, run p4a -h to get help about the usage of the p4a frontend script.
In the examples directory there are few examples or demos showing some p4a, tpips, pyps use cases. You can use these examples to test your installation. For example, to test p4a using one of the examples in the P4A directory go to one of the directories in P4A and run:
if you got all needed environments installed, included cuda. This will chain all available demos included:
If you do not have cuda environment in your machine, you can test your installation with OpenMP, as the following:
which will transform the sequential codes to the OpenMP, compile the generated codes, run and display the results. To get more information on the examples, have a look at examples/README.txt.
Further you can look at the manual of p4a on http://www.par4all.org/documentation for information on how to use Par4All.