The ParFORM home page

FORM is a program for symbolic manipulation of algebraic expressions. It is specialized to handle very large expressions of billions of terms in an efficient and reliable way. It is widely used in particular in the framework of perturbative quantum field theory, where often several thousands of Feynman diagrams have to be computed. The latest version of FORM is 4.1, in which the output code optimization is implemented.

ParFORM and TFORM are parallel versions of FORM. ParFORM has been developed at the Institut für Theoretische Teilchenphysik, Karlsruhe Institute of Technology within the Collaborative Research Centre SFB/TR 9. The general concept of the parallel versions of FORM is based on the master-worker model: the parallelisation is accomplished in such a way that the master feeds terms in expressions to workers. The parallelisation does not require any additional efforts from the user. FORM programs written for the sequential version, including those using new features added in the version 4 or later, should run also in the parallel versions. To achieve more parallelisation efficiency, the user can give some hints to the parallel versions, which are ignored in the sequential version.

The master feeds workers by chunks

ParFORM is based on Message Passing Interface (MPI), which can work with many hardware architectures, including computer clusters with fast network connections. On the other hand TFORM is based on POSIX Threads (Pthreads), and one can get a performance gain on multicore processors.

ParFORM TFORM

Both ParPORM and TFORM demonstrate a good speedup behaviour on symmetric multiprocessing (SMP) and modern cluster architectures:

Speedup Speedup (ttpmoon)

where

Installation and Usage

The source code of FORM (including ParFORM and TFORM) can be downloaded from here. For development versions, CVS and Git repositories are also available.

In many Linux distributions (of course with C/C++ compilers and a properly configured MPI library), the following commands should download the source code and build ParFORM:

wget http://www.nikhef.nl/~form/maindir/binaries/form-4.1.tar.gz
gzip -dc form-4.1.tar.gz | tar xf -
cd form-4.1
./configure --enable-parform
make

Then you will find the ParFORM executable file (parform) in the subdirectory formcvs/sources. As other Autoconf-using programs, optionally you can copy the compiled executables into the system directory (/usr/local/bin as the default) by the command make install.

In general, how to run ParFORM as an MPI application may depend on the MPI implementation. In many MPI implementations, this is done by using the mpirun command:

mpirun -np 4 parform calcdia

which executes the user program in the file calcdia.frm, using 4 processes, in which one process is the master process and the other 3 processes are the worker processes.

For more information, please refer to the INSTALL file in the distribution and the FORM reference manual.

Publications