singularity-mpi

module
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2019 License: BSD-3-Clause

README

Singularity-mpi

This tool aims at running numerous experiments whose results are all aggregated to create a compatibility matrix for a given MPI implementation (e.g., OpenMPI or MPICH). To do so, this tool runs different configurations of MPI on the host and within a container and check whether specific MPI applications/tests/benchmarks succeed. Practically, the results for each test (e.g., a simple hello world or a point-to-point communication test) are saved in a result file; which once aggregated creates the compatibility matrix.

This is not meant to create an exhaustive compatibility matrix but rather an idea of what to expect since many parameters can impact the overall results (e.g., configuration of the host, configuration of the MPI implementation).

Note: syvalidate has been moved to its own repository (https://github.com/sylabs/syvalidate).

Preparation of the source code

Before installation, please make sure that your GOPATH environment variable is correctly set and that $GOPATH/bin is in your PATH. This is required because we currently install binaries in $GOPATH/bin. Then, simply clone the repository on your system: mkdir -p $GOPATH/src/github.com/sylabs/ && cd $GOPATH/src/github.com/sylabs && git clone https://github.com/sylabs/singularity-mpi.git, and run cd $GOPATH/src/github.com/sylabs && make install.

Overview

The source code will lead to the creation of 3 different binaries:

  • sycontainerize: a tool to help you create containers for your favorite applications.
  • sympi: a tool to let you easily install various versions of Singularity, of MPI and manage/run some of your containers (especially when using sycontainerize).

For more details about each of these tools, please refer to the associated documentation, i.e., respectively README.sycontainerize.md and README.sympi.md.

All these tools can rely on a workspace to manage MPI installations, containers and various version of Singularity.

Installation

To compile the tool, you just need to execute the following command from the top directory of the source code: cd <path>; make install. This will generate different binaries: sycontainerize and sympi. The sycontainerize command can be used to easily create a container for any application. Running the sycontainerize -h command displays a help message that describes how the command can be used. The sympi command can be used to easily manage various MPI installation on the host and easily execute containers using MPI. Running the sympi -h command displays a help message that describes how the command can be used.

Directories

Path Synopsis
cmd
internal
pkg
app
buildenv
* buildenv is a package that provides all the capabilities to deal with a build environment, * from defining where the software should be compiled and install, to the actual configuration, * compilation and installation of software.
* buildenv is a package that provides all the capabilities to deal with a build environment, * from defining where the software should be compiled and install, to the actual configuration, * compilation and installation of software.
builder
* builder is a package that provides a set of APIs to help configure, install and uninstall MPI * on the host or in a container.
* builder is a package that provides a set of APIs to help configure, install and uninstall MPI * on the host or in a container.
jm
mpi
sy
sys

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL