Installation Guide

This page documents the standard installation process for MPC. First, you may download a tarball from our download page. MPC embeds some of its dependencies for ease of use and to simplify the installation process. In particular, the following main dependencies are embedded:

  • A patched GCC for automatic privatization
  • A GCC plugin to support dynamic initializers

Prerequisites

MPC has a few dependencies which are to be installed prior to running the installation script.

  • patch command
  • C/C++ compiler (e.g. gcc and g++)
  • Fortran compiler (e.g. GFORTRAN)
  • The patch command
  • The make command
  • Tar and Bzip commands

You may install the dependencies matching your distribution as follows:

# Install dependencies on Centos
yum install -y gcc gcc-gfortran gcc-c++ patch make cmake bzip2 pkg-config curl python36 texinfo diffutils file

# Install dependencies on Debian / Ubuntu
apt-get install -y gcc g++ gfortran patch make cmake bzip2 pkg-config curl python

# Install dependencies on Fedora
yum install -y gcc gcc-gfortran gcc-c++ patch make cmake bzip2 pkg-config findutils texinfo diffutils file

# Install dependencies on ArchLinux
pacman -Su gcc gcc-fortran patch make cmake bzip2 pkg-config python diffutils perl-podlators

Fast Installation

You may copy paste the following these steps in your terminal if you are in a hurry to try MPC:

# Get the last tarball
curl -k https://france.paratools.com/mpc/releases/mpcframework-4.0.0.tar.gz -o mpcframework-4.0.0.tar.gz
# Extract the tarball
tar xf mpcframework-4.0.0.tar.gz
# Enter the source directory
cd mpcframework-4.0.0
# Run the install script
mkdir BUILD && cd BUILD
../installmpc --prefix=$HOME/mpc_install -j8
# Source MPC in your environment
. $HOME/mpc_install

Get MPC and Extract It

You may get MPC from the download page or directly from your shell. You can then proceed to extract the tarball.

# Get the last tarball
curl -k https://france.paratools.com/mpc/releases/mpcframework-4.0.0.tar.gz -o mpcframework-4.0.0.tar.gz
# Extract the tarball
tar xf mpcframework-4.0.0.tar.gz

Install MPC

MPC relies on an unified installation script ./installmpc which takes care of installing dependencies in order. The simple installation approach is the following:

./installmpc --prefix=$HOME/mpcinstall -j8 --enable-color

We recommend a non-standard prefix as MPC provides several standard headers such as pthread.h. The recommended location is a directory on the shared file-system. Depending on your launcher you may want to specify either the slurm or the hydra launcher.

# In order to use slurm as launcher '--with-slurm'
./installmpc --prefix=$HOME/mpcinstall -j8  --enable-color --with-slurm

This command will unpack, compile and install all dependencies.

Source MPC

Once installed you need to source a script in your shell to enable the MPC environment to do so you may use (depending on your prefix):

# In bash
export MPC_PREFIX=$HOME/mpcinstall
. $MPC_PREFIX/mpcvars.sh

# In csh
export MPC_PREFIX=$HOME/mpcinstall
. $MPC_PREFIX/mpcvars.csh

Check if MPC is Present

mpc_status

# Expected output :
MPC 3.3.0

MPC is installed !