Ouessant : PowerAI

IBM PowerAI est disponible sur Ouessant. Cette pile logicielle permet de mettre en œuvre rapidement plusieurs frameworks d'I.A. au sein d'un container Docker démarré en batch sur des nœuds d'Ouessant.

Pour utiliser la pile PowerAI en batch, il faut ajouter les directives suivantes à un script de soumission standard:

#BSUB -app powerai
#BSUB -env "all,~BASH_FUNC_ml(),~BASH_FUNC_module()"

et lancer le script d'initialisation du framework que vous souhaitez utiliser :

source /opt/DL/<framework>/bin/<framework>-activate

Dans sa version 4.0 (par défaut) il est possible de lancer des calculs sur les GPUs de plusieurs nœuds, grâce à la bibliothèque de communication IBM Distributed Deep Learning Library (basée sur MPI). Les versions des différents frameworks mis à disposition dans PowerAI v4.0 sont :

La precédente version 3.4 est aussi disponible : cette ancienne version peut permettre de contourner un bug apparu dans une version par défaut, MAIS ne permet de calculer que sur au plus les 4 GPUs d'un seul nœud. Pour mémoire, les frameworks disponibles sont :

Pour utiliser cette version, il suffit de specifier la directive

#BSUB -app powerai-3

Voici un canevas de job à customiser en fonction du framework que vous souhaitez utiliser :

job
# PowerAI
#BSUB -app powerai
#BSUB -env "all,~BASH_FUNC_ml(),~BASH_FUNC_module()"
# Nom du job
#BSUB -J monJob
# Ficher output et error, ici le meme fichier
#BSUB -e %J.sortie
#BSUB -o %J.sortie
# Réservation exclusive d'un noeud 
#BSUB -x
# Nombre de taches MPI 
#BSUB -n 4
# Binding
#BSUB -a p8aff(1,1,1,balance)
# Nombre de gpu
#BSUB -R "rusage[ngpus_shared=4]"
# Nombre de tache MPI par noeud
#BSUB -R "span[ptile=4]
# Durée maximum du travail (1 minute)
#BSUB -W 01:00
#BSUB -env none
#BSUB -x
 
set -x
source /opt/DL/<framework>/bin/<framework>-activate

Plus de détails sur les scripts de soumission, la sélection des GPUs p.ex. sont disponibles sur cette page ; Les commandes de contrôle des travaux sont décrites ici.