Skip to main content

A command-line utility to run MPI projects in E4S containers

Project description

E4S Container Launcher

E4S container launcher is a tool to simplify running MPI applications in E4S containers with host libraries. This project is built upon the MPICH ABI Compatibility Initiative and CEA's Wi4MPI.

Check out the documentation here !

Usage

Running an application with E4S Container Launcher can be as simple as prefixing the launcher command by e4s-cl launch.

e4s-cl init
e4s-cl launch mpirun -np 4 ./foo

The full details on execution and configuration can be found here.

How it works

Creating containers

e4s-cl wraps around standard MPI-capable launchers to execute a small amount of pre-processing before creating containers in which to run commands. This processing includes analyzing the library environment from the host, to bind select libraries to the container in order to make them accessible to the running process.

structure

The concept of profile

One of the core components of the tool are profiles. They contain specific information about an execution environment that can be reproduced, such as container image and technology, or files and libraries to import in the containers.

They can be accessed and modified using the e4s-cl profile commands.

$ e4s-cl profile list
============= Profile Configurations (/home/user/.local/e4s_cl/user.json) ==
+----------+------------+-------------+------------+-----------+-------+--------+
| Selected |    Name    |   Backend   |   Image    | Libraries | Files | WI4MPI |
+==========+============+=============+============+===========+=======+========+
|          |  MPICH_3.4 | singularity |       None |    16     |   1   |   No   |
+----------+------------+-------------+------------+-----------+-------+--------+

Profiles are also used as intermediate outputs of the program. e4s-cl profile detect will analyze a given binary to list all its library and file dependencies. Those results are stored into a given profile to be reused.

Installation

e4s-cl requires python3.7+ to run. If you do not have access to a compatible version, the guided installation process will download a conda interpreter to run the project.

Guided standalone installation

You can install e4s-cl and a dedicated python interpreter using the provided Makefile. The installation location can be set using the INSTALLDIR variable:

git clone https://github.com/E4S-Project/e4s-cl
cd e4s-cl
make INSTALLDIR=<prefix> install

Once the installation succeeds, add <prefix>/bin to your PATH.

python package installation

If you would rather install e4s-cl using standard python packaging facilities, you may install using pip:

git clone https://github.com/E4S-Project/e4s-cl
cd e4s-cl
pip install .

The full details on installation targets can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

e4s_cl-1.0.8.tar.gz (341.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

e4s_cl-1.0.8-py3-none-any.whl (389.9 kB view details)

Uploaded Python 3

File details

Details for the file e4s_cl-1.0.8.tar.gz.

File metadata

  • Download URL: e4s_cl-1.0.8.tar.gz
  • Upload date:
  • Size: 341.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for e4s_cl-1.0.8.tar.gz
Algorithm Hash digest
SHA256 e84915e1a393c77418f7301225d842d8b53c130cf14e788d4903bf15bae36fcb
MD5 b02c66abbfb9b2faf9055fb462c3d422
BLAKE2b-256 2bdcf5b787e9aa86d226e637f8830c8aafc37e23b727a32e6a9c67988d860766

See more details on using hashes here.

File details

Details for the file e4s_cl-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: e4s_cl-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 389.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for e4s_cl-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 27d77105f68894a278c85dab0ccdaba31af87d834a5ae346b24986caa272aa08
MD5 17662a897e3b960c8b05fa9ccb53387d
BLAKE2b-256 2545f281d0350875e0f1670d85459b7af75121fa04e2f2cb3d0f4606b9f6f629

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page