Installation via RPM packages

The recommended way to install ParaStation MPI is the installation of packages using the rpm command. This is the preferred method on all SuSE or Red Hat based systems.

Getting the ParaStation MPI RPM packages

Packages containing the different parts of the ParaStation MPI system can be obtained from the download section of the ParaStation MPI homepage.

At least two packages are needed, one containing the management part, the other one providing the communication part of the ParaStation MPI system. Beside this core system, packages supplying MPIch for GNU, Intel and Portland Group are available. A documentation package is also obtainable.

The full names of the RPM files follow a simple structure:

  name-x.y.z-n.arch.rpm

where name denotes the name and thus the content of the packet, x.y.z describes the version number, n the build number and arch is the architecture, i.e. one of i586, ia64, x86_64, ppc or noarch. The latter is used e.g. for the documentation packet.

The package called psmgmt holds the management part of ParaStation MPI. This package is required for any installation of the ParaStation MPI system, independent of the underlying communication platform.

The communication libraries and modules for ParaStation MPI come with the pscom package. As explained, all filenames are followed by an individual version number, the build date and the architecture.

The MPI libraries and tools are included in the package psmpi2, psmpi2-intel or psmpi2-pgi for the respective compilers.

The versions available on the ParaStation MPI homepage at a time are tested to work properly together. It's recommended to install always the corresponding package versions. If only a part of the installation should be updated (i.e. only the management part while keeping the communication part untouched) the corresponding release notes should be consulted in order to verify that the intended combination is supported.

The release notes of the different packages will either be found within the installation directory /opt/parastation or on the download section of the ParaStation MPI homepage.

Please note that the individual version numbers of the distinct packages building the ParaStation MPI system do not necessarily have to match.

Compiling the ParaStation MPI packages from source

To build proper RPM packages suitable for a particular setup, the source code for the ParaStation MPI packages can be downloaded from www.parastation.com/downloads [2] .

Note

Typically, it is not necessary to recompile the ParaStation MPI packages, as the provided precompiled packages will install on all major distributions.

Only the kernel modules (if required) should be compiled to provide modules suitable for the current Linux kernel, see below.

To build the psmgmt package, use

  # rpmbuild --rebuild psmgmt.5.0.0-0.src.rpm

After installing the psmgmt package, the pscom package can be built using

  # rpm -Uv psmgmt.5.0.0-0.i586.rpm
  # rpmbuild --rebuild pscom.5.0.0-0.src.rpm

This will build the packages pscom-5.0.0-0.i586.rpm and pscom-modules-5.0.0-0.i586.rpm. The architecture will of course vary depending on the system the packages are built on.

While compiling the package, support for InfiniBand will be included, if one of the following files where found:

Table 3.1. Supported InfiniBand implementations

File Version
/usr/include/infiniband/verbs.hOpenFabrics
/usr/mellanox/include/vapi/evapi.hMellanox
/usr/local/ofed/include/verbs.hOpenFabrics (Voltaire)

To enable Myrinet GM, the environment variable GM_HOME must be set.

To generate the pscom-modules package, holding the ParaStation protocol-specific kernel modules and patched device drivers only, use the command

  # rpmbuild --rebuild --with modules pscom.5.0.0-0.src.rpm

After installing the pscom package, the MPIch2 package can be built using

  # rpm -Uv pscom.5.0.0-0.i586.rpm
  # rpmbuild --rebuild psmpi2-5.0.0.src.rpm

This will create an installable MPIch RPM package, based on gcc. Support for other compilers can be enabled using the --with compiler options. Compiler could be intel for Intel icc or pgi for Portland Group pgi. The option g77_ will use gcc, rendering symbol names with a single underscore prefixed.

Installing the RPMs

The installation on the cluster nodes has to be performed with administrator privileges. The packages are installed using the rpm -U command:

  # rpm -Uv psmgmt.5.0.0-0.i586.rpm pscom.5.0.0-0.i586.rpm \
  pscom-modules.5.0.0-0.i586.rpm

This will copy all the necessary files to /opt/parastation and the kernel modules to /lib/modules/kernelversion/kernel/drivers/net/ps4.

On a frontend node or file server, the pscom-modules package is only required, if this node should run processes of a parallel task. If the frontend or fileserver node is not configured to run compute processes of parallel tasks, the installation of the pscom-modules package may be skipped. For details how to configure frontend nodes, refer to the section called “Configuration of the ParaStation MPI system”.

To enable the ParaStation MPI version of the e1000 or bcm5700 network drivers, rename (or delete) the original version of this driver in use which is typically located in the system directory /lib/modules/kernelversion/kernel/kernel/drivers/net/e1000 or bcm, respectively. See modinfo e1000 for details. The module dependency database must be rebuild using the command depmod. See the section called “Enable optimized network drivers” for details.

Note

It is not required to use the ParaStation MPI version of the e1000 or bcm5700 driver, as the p4sock protocol of ParaStation MPI is able to use every network driver within the Linux kernel. However, to increase performance and to minimize latency, it's highly recommended.

Using the provided drivers does not influence other network communication.

While installing the ParaStation MPI management RPM, the file /etc/xinetd/psidstarter is installed. This enables remote startup of ParaStation MPI daemons using the xinetd(8).

The xinetd daemon will be triggered to read this file by executing:

  /etc/init.d/xinetd reload

Refer to the section called “Changing the default ports for psid(8)” on how to change the default network port used by the psid(8).

In case the system still uses the older xinet(8) server to startup network services, please add the following lines to /etc/services:

  #
  # ParaStation daemon
  #
  psid stream tcp nowait root /opt/parastation/bin/psid psid

Add the next lines to /etc/inetd.conf:

  # ParaStation entries
  psid    888/tcp     # ParaStation Daemon Start Port
  # end of ParaStation entries


[2] Source code for the documentation is currently not available.