Supercomputer

This section shows you the pre-requisites to install the COMPSs framework. There are 3 types:

  • Essential: Minimal packages to install COMPSs.

  • Build: Extra packages to build COMPSs from sources.

  • Optional: Extra packages recommended for performance purposes.

Essential Requirements

In order to successfully run the installation script some dependencies must be present on the target machine. Administrators must provide the correct installation and environment of the following software:

  • Autotools

  • BOOST

  • Java 21 JRE

The following environment variables must be defined:

  • JAVA_HOME

  • BOOST_CPPFLAGS

The tracing system can be enhanced with:

  • PAPI, which provides support for hardware counters

  • MPI, which speeds up the tracing merge (and enables it for huge traces)

Build Dependencies

To build COMPSs from sources you will also need wget, git and maven (maven web). To install with Pip, pip for the target Python version is required.

Optional Dependencies

For the Python binding it is recommended to have dill (dill project), guppy3 (guppy3 project) and numpy (numpy project) installed:

  • The dill package increases the variety of serializable objects by Python (for example: lambda functions)

  • The guppy3 package is needed to use the @local decorator.

  • The numpy package is useful to improve the serialization/deserialization performance since its internal mechanisms are used by the Python binding.

For the Workflow Provenance generation, some distributions may not have installed yaml and pytz, so you will have to install them manually.

All these packages can be found in PyPI and can be installed via pip.

Since it is possible to execute python applications using workers spawning MPI processes instead of multiprocessing, it is necessary to have openmpi, openmpi-devel and openmpi-libs system packages installed and mpi4py with pip.

Caution

The mpi4py package requires to have the MPI header/development package available, which has to be installed with the OS package manager.

$ sudo apt-get install libopenmpi-dev  # Adapt for your OS package manager