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.
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.
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] .
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.h | OpenFabrics |
/usr/mellanox/include/vapi/evapi.h | Mellanox |
/usr/local/ofed/include/verbs.h | OpenFabrics (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
options.
compiler
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.
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/
or
kernelversion
/kernel/kernel/drivers/net/e1000bcm
,
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.
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