jax (GPU)

Installation

Pour installer le paquet JAX (sur Olympe), veuillez suivre les étapes suivantes :

  1. Créez un environnement conda avec Python 3.9 pour JAX-GPU :

    module purge
    module load conda/4.9.2
    conda create -n jax-gpu python=3.9
  2. Allouez un nœud de calcul contenant des GPUs :

    salloc -N 1 -n 36 --gres=gpu:1 --time=01:00:00 --mem=20G
  3. Connectez-vous au nœud :

    ssh olympevolta<numero_du_noeud> 
  4. Charger cuda version 11.5, conda et Activer l'environement:

    module purge
    module load cuda/11.7
    module load conda/4.9.2
    conda activate jax-gpu
  5. Créer un repertoire pip_tmp et setter la variable TMPDIR vers ce repertoire pour eviter un erreur de dépassement de mémoire de pip

    mkdir /tmpdir/$(whoami)/pip_tmp
    export TMPDIR=/tmpdir/$(whoami)/pip_tmp
  6. Installez tous les paquets conda dont vous avez besoin et après installez JAX:

    proxychains4 pip install --upgrade "jax[cuda11_pip]==0.4.12;" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Note : proxychains4 permet d'accéder à Internet depuis le nœud de calcul.

Test jax sur GPU

Une fois l'installation ce bien passé, se placer sur un nœud de calcul Volta et faire ces trois étapes si c'est pas déjà fait:

module load cuda/11.7
module load conda/4.9.2
conda activate jax-gpu

Générer le script test Python :

cat << EOF > jax_test_gpu.py
import jax
import jax.numpy as jnp
import os
# Check the available GPU devices
jax.devices()
# Define a simple function to run on GPU
def gpu_add(a, b):
    return jax.device_put(a + b)
# Create some arrays
x_gpu = jax.random.normal(jax.random.PRNGKey(0), (1000, 1000), dtype=jnp.float32)
y_gpu = jax.random.normal(jax.random.PRNGKey(1), (1000, 1000), dtype=jnp.float32)
# Run the function on GPU
result_gpu = gpu_add(x_gpu, y_gpu)
# Check the result
print(result_gpu)
EOF

Si lors de l'exécution du code suivant aucun message ne mentionne la non-utilisation des GPUs, cela signifierait que tout est correct :

 python jax_test_gpu.py 

Voir aussi

MUMPS

La bibliothèque MUMPS propose, entre autres, une méthode de résolution directe (décomposition LU) dans un contexte de mémoire distribuée (Message Passing Interface).

PETSC

Version installée sur OLYMPE : version 3.7.4

parallel-netcdf

Utilisable en chargeant le module adéquat : Intel MPI module load pnetcdf/1.9.0-intelmpi OpenMPI: module load pnetcdf/1.9.0-openmpi

Netcdf

Versions installées sur OLYMPE : version 4.6.1 : Cette version a été compilée avec les interfaces fortran. version 4.6.1-intelmpi : Version compilée avec hdf5 1.10.2 - intelmpi

Utiliser la MKL avec les compilateurs Intel

Nul besoin de charger un module spécial pour utiliser la mkl : la mkl est intégrée dans tous les modules intel (la version 18.2 est chargée dans l’environnement par défaut sur Olympe)

hdf5

Versions installées sur OLYMPE :

Gaussian

Versions installées sur OLYMPE :

Python intel

Cet article décrit les environnements python fournis par intel et disponible à CALMIP. CALMIP recommande l’utilisation plutôt de conda pour gérer ses environnements python

VASP

Version installée sur OLYMPE version 5.4.4 (avec les dernier patch disponibles en juin 2018)

Quantum Espresso

NAMD

Version installée sur OLYMPE: 2.12  (CPU et GPU)

GROMACS

Versions de GROMACS disponibles sur OLYMPE : version 2018.3 version 2020.2

Amber et Ambertools

Licence Amber: Les binaires amber (pmed*) ne sont accessibles qu’aux équipes ayant acquis la licence. Veuillez contacter le support si vous n'avez pas les droits d'utilisation.

MEEP

MIT Electromagnetic Equation Propagation.

FFTW

Le répertoire d’installation de la bibliothèque FFTW3 : /usr/local/fftw/3.3.8/ La bibliothèque est compilée dans l’environnement Intel (compilateurs et Lib MPI) 18.2

Partitionnement de maillage

Ces trois bibliothèques ont été compilées dans l’environnement Intel 18.2 (compilateur et librairie MPI). La bibliothèque METIS Installée dans /usr/local/metis/5.1.0/

Abaqus

Version installée = Abaqus 2016 LOGICIEL SOUS LICENCE - Vous devez avoir la licence pour l'utiliser !

CP2K

La version CP2K 6.1 est installée sur Olympe. Elle a été compilée dans l"environnement Intel.

Lammps

Lammps (cpu et gpu) est installée sur Olympe

ParaView

Versions installées Version 5.5.2 Version 5.7.0 Version 5.9.0 Lancement de ParaView Obligatoirement à partir d’un nœu

VisIt

Lancement de VisIt Obligatoirement à partir d’un nœud graphique. VisIt est accessible à partir du menu graphique. visit est également utilisable en ligne de commande :

Gaussview

Utilisation de Gaussview Positionner l’environnement gaussian comme indiqué dans

XCrySDen

Lancer XCryDen à partir du menu graphique ! Ou... Lancer XCrysDen en ligne de commande : xcrysden & Version :1.5.60

Jmol

Jmol est un outil de visualisation de molécules Lancer Jmol à partir du menu graphique Ou... lancer Jmol en ligne de commande :

gabedit

gabedit est une interface graphique aux différents logiciels de calcul dans le domaine de la chimie. Lancer gabedit à partir du menu graphique ! Ou... Lancer gabedit en ligne de commande :

vmd

vmd est un outil de visualisation de molécules biologiques. vmd est utilisable à partir du menu des stations graphiques Pour utiliser vmd à partir d’un nœud graphique en ligne de commande :

A ParaView tutorial for parallel visualisation

In this tutorial, we explain how you can use several cores with ParaView for a better interactivity when visualizing huge quantities of data

AMGX

AMGX est une bibliothèque développée par NVidia et destinée à la résolution de systèmes linéaires sur GPU. Version installée sur OLYMPE :

Tensorflow (Legacy)

CALMIP recommande l’utilisation plutôt de conda pour gérer ses environnements python

Gaussian 16 sur GPU

Cet article traite de la version GPU Gaussian 16 B01 Cette version a été compilée dans l’environnement PGI et CUDA :

OpenMPI

La bibliothèque mpi - Version libre Openmpi

G09 sur 36 cœurs

Exemepl de scripts pour utiliser Gaussian version G09 sur 36 cœurs de calcul (Olympe)

Gaussian sur 36 cœurs

Réservation des ressources (Plus d’options ici)

p4vasp

p4vasp est un logiciel de visualisation très utile pour les utilisateurs du logiciel vasp Version installée : 0.3.30 Pour utiliser, à partir d’un nœud graphique  :

Abaqus : Exemple de script multi-noeud

#!/bin/bash #SBATCH -J INP_v11 #SBATCH -N 2 #SBATCH -n 72 #SBATCH --time=01:00:00 #SBATCH --ntasks-per-node=36 #SBATCH --ntasks-per-core=1

Expérimental : OpenMPI UCX Cuda Aware

Le module correspondant :

Horovod

Horovod est un framework permettant d’entraîner des modèles d’intelligence artificielle en utilisant plusieurs GPUs. Cette installation d'Horovod est expérimentale

cgal

CGAL (Computational Geometry Algorithms Library) est une bibliothèque C++ qui permet d’utiliser de manière simple et efficace des algorithmes géométriques. Version installée : 5.5.1

julia

Versions installées sur Olympe = 1.5.3, 1.7.2 et 1.9.3 Pour pouvoir installer des paquets chaque utilisateur doit créer ses propres environnements en local.

libcudnn

libcudnn est disponible à travers certains environnements cuda :

conda

L’environnement conda permet d’installer efficacement des environnements virtuels python

netket

netket ("an open-source project delivering cutting-edge methods for the study of many-body quantum systems with artificial neural networks and machine learning techniques") est disponible.

python-tools

Cet article décrit le contenu de l’environnement conda "python-tools", les modules python et leurs version et indique comment l’utiliser

python

Cet article décrit les différentes versions disponibles de l’environnement conda "python"

tensorflow

Cet article décrit le contenu de l’environnement conda "tensorflow", les modules python et leurs version et indique comment l’utiliser

pytorch

Cet article décrit le contenu de l’environnement conda "pytorch", les modules python et leurs version et indique comment l’utiliser

scikit-learn

Cet article décrit le contenu de l’environnement conda "scikit-learn", les modules python et leurs version et indique comment l’utiliser

Code Aster et Salome

Code Aster Version installée = 15.2.0 Attention :

Tensorboard

Comment utiliser tensorboard sur Olympe (pour les utilisateurs de tensorflow)

Jupyter notebook

Comment utiliser Jupyter Notebook avec Olympe

tinker-hp

La version GPU 2021.03 de tinker-hp est installée

Yambo

Yambo doesn’t stand for anything like "Yet Another Many-Body cOde", for instance. Unless you really want it to.

MAGMA

https://icl.cs.utk.edu/magma/

alphafold

CETTE INSTALLATION EST EXPÉRIMENTALE

mpi4py

Pour que mpi4py fonctionne bien il faut construire l'environement en utilisant un mpi extern à conda. Ici vous trouvez les pas à suivre pour mettre en place l'environement. À savoir que l'ordre des commandes est important: