Jean Zay: Softwares for artificial intelligence

Description

The artificial intelligence softwares are installed in conda virtual environments.

These environments can be supplemented upon request to the IDRIS support team (assist@idris.fr).

Since support for Python version 2.7 ended on 01/01/2020, we are only installing new software versions for Python 3 since.

Available softwares

The conda environments which we install are built around several main libraries (PyTorch, TensorFlow, NeMo, etc). They are named after these.

These environments are accessible via the module command. To display the list of available AI modules:

$ module avail pytorch tensorflow nemo [other]

To activate your chosen environment, it is necessary to load the corresponding module. For example, to activate the conda environment containing TensorFlow version 2.5.0, you should load:

$ module load tensorflow-gpu/py3/2.5.0

Once the environment is activated, you can list all the Python packages installed in this environment by using the following commands:

$ pip list
$ conda list

Installed versions

To list the versions installed on Jean Zay for a given environment (TensorFlow, PyTorch, caffe or MXNet), you must use the module avail command. For example, regarding TensorFlow:

$ module avail tensorflow

The names of the products appear in the form: <software>-gpu/<python version>/<product version>. Except for MXNet which have been installed after the end of life of Python 2.
For example, TensorFlow version 2.2.0 for Python 3 will be named tensorflow-gpu/py3/2.2.0.

When you load one of these products via the module command, you also load several dependencies: OpenMPI, CUDA, NCCL, cuDNN,… The versions of these dependencies are indicated at the loading of the product. For example :

$ module load tensorflow-gpu/py3/2.2.0
Loading tensorflow-gpu/py3/2.2.0
  Loading requirement: cuda/10.1.2 nccl/2.5.6-2-cuda cudnn/7.6.5.32-cuda-10.1 intel-compilers/19.0.4 openmpi/4.0.2-cuda

You are also loading the corresponding Python version (py3 or py2).

Note: New versions can be installed upon request to the IDRIS support team (assist@idris.fr).

🔍 idr_module_search command

The idr_module_search command developed by IDRIS allows you to know which Jean Zay module is best suited to your needs. It allows you to identify which environments contain certain packages, with or without version specification.

Basic syntax

idr_module_search [options] <package_name1> <package_name2> ...

Available options

Option Description
​--soft Activates soft mode. The script returns a module if at least one of the requested packages is present (instead of all).
​--ignore-version Ignores version specifications during the search. Only the package name match is taken into account.
​--arch <architecture>​ Limits the search to a specific architecture. Accepted values are cpu, v100, a100, and h100 (case-insensitive). By default, all architectures are considered.
​-f <​chemin>​​ or
​--file <​chemin>​
Searches for packages listed in a text file (one package per line). This option is suitable for files of type “requirements.txt”.
​-h​ or ​--help Displays help and exits.

Examples of use

  • Simple search: idr_module_search numpy
  • Search for multiple packages: idr_module_search numpy pandas matplotlib
  • Soft mode search to find at least one of the requested packages: idr_module_search --soft numpy pandas
  • Architecture-filtered search: idr_module_search --arch a100 tensorflow
  • Search with version specification: idr_module_search "numpy>=1.20.0". It is possible to provide a specific version or a constraint.
  • Search from a “requirements.txt” file of dependencies: idr_module_search -f requirements.txt

Possible errors

  • The command returns nothing when you add a version constraint: make sure you have used quotes (e.g. "numpy>=2").
  • Invalid package name: names must follow the standard format of pip or conda repositories.

Remarks

  • Package names can contain special characters like * or + which are interpreted as regular expression patterns.
  • If constraints are provided both on the command line and via a file (e.g. idr_module_search "numpy==1.26.4" -f requirements.txt), those on the command line take precedence over those in the file.

General comments on AI environments