recherche:cluster:softwares

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
recherche:cluster:softwares [08/07/2022 11:48] aurelien.villanirecherche:cluster:softwares [05/04/2023 16:42] (Version actuelle) julien.favre
Ligne 106: Ligne 106:
       * rapatriez vos données du scratch avec un scp       * rapatriez vos données du scratch avec un scp
  
 +
 +====== MTEX ======
 +
 +==== Utiliser MTEX sur le cluster ====
 +Référent: `[[julien.favre@emse.fr]]`
 +
 +Mtex est un package utilisable avec Matlab pour traiter les cartes EBSD. La documentation est disponible sur : https://mtex-toolbox.github.io/
 +
 +Le traitement pouvant être lourd, cela devient intéressant d'utiliser le cluster pour ça. Par contre vous devez installer Mtex sur votre home, et ça demande quelques manips.
 +
 +Plusieurs étapes pour l'installation:
 +
 +1) Télécharger et décompresser Mtex
 +Télecharger avec la commande (pensez à télécharger la dernière version bien sur, le lien peut changer):
 +<Code:bash>
 +wget https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.9.0/mtex-5.9.0.zip
 +</Code>
 +Puis décompresser l'archive avec
 +<Code:bash>
 +unzip mtex-5.9.0.zip
 +</Code>
 +Ces deux commandes vont créer un dossier mtex-5.9.0 sur votre home (bien sur le nom des dossiers et des archives va varier avec la version que vous aurez téléchargé).
 +
 +2) Dans votre dossier home, vous allez devoir installer et compiler en local une librairie. Suivez le guide...
 +Importer le module GCC9 avec la commande module load gcc/9.3.0
 +Importer matlab aussi, sinon ça va planter: module load matlab/R2020b
 +
 +Télécharger la librairie NFFT avec (pensez à télécharger la dernière version bien sur, le lien peut changer):
 +<Code:bash>
 +wget https://www-user.tu-chemnitz.de/~potts/nfft/download/nfft-3.5.3.tar.gz
 +</Code>
 +Puis décompresser l'archive avec:
 +<Code:bash>
 +tar -xf nfft-3.5.3.tar.gz
 +</Code>
 +On navigue dans le dossier décompressé:
 +<Code:bash>
 +cd nfft-3.5.3/
 +</Code>
 +Puis exécuter les commandes suivantes pour faire la compilation. Faites attention au chemin d'installation de Matlab qui peut différer selon la version installée:
 +<Code:bash>
 +./bootstrap.sh
 +./configure --with-matlab=/export/apps/MATLAB/R2020b --enable-nfsoft --enable-nfsft --enable-openmp --enable-portable-binary 
 +make
 +</Code>
 +
 +Normalement la compilation doit se dérouler sans problème. Sinon, c'est dommage pour vous.
 +
 +Maintenant copiez certains fichiers obtenus de la compilation vers le répertoire de mtex que vous avez décompressé:
 +<Code:bash>
 +cp ~/nfft-3.5.3/matlab/nfsoft/nfsoftmex.mex* ~/mtex-5.9.0/extern/nfft_openMP
 +cp ~/nfft-3.5.3/matlab/nfsft/nfsftmex.mex* ~/mtex-5.9.0/extern/nfft_openMP
 +cp ~/nfft-3.5.3/matlab/nfft/nfftmex.mex* ~/mtex-5.9.0/extern/nfft_openMP
 +</Code>
 +
 +3) Installation à proprement dit de Mtex.
 +Naviguez dans le répertoire d'installation de Mtex avec la commande cd ~/mtex-5.9.0/
 +Vérifiez bien que vous avez importé GCC9 et Matlab avec "module load gcc/9.3.0" et "module load matlab/R2020b"
 +Lancer la commande "matlab -nodisplay -nojvm -nodesktop -nosplash -r install_mtex" (c'est mieux de lancer ça d'un noeud de calcul ou bien du noeud compute-build)
 +Normalement Mtex va s'installer...
 +
 +4) Vous pensez avoir fini... ben non... En fait quand on lance Matlab, Mtex ne se lance pas spontanément. Donc pour lancer un job avec Mtex il faut quelques astuces.
 +Déja, commencez par générer un fichier job pour votre calcul avec :
 +<Code:bash>
 +module load tools/cluster-bin
 +cluster-create-slurm-script-01.sh -matlab
 +</Code>
 +Pensez bien à modifier la version importée de matlab en mettant la commande module load matlab/R2020b
 +Pour lancer un job matlab il faut bien utiliser la commande "matlab -nodisplay -nojvm -nodesktop -nosplash -r run_mtex" avec "run_mtex" le nom de votre fichier de script (sans marquer l'extension ".m"), vérifiez que c'est bien cette commande que vous avez dans le fichier job. Gardez le nom de script "run_mtex", car on va l'utiliser juste après...
 +
 +Une fois que vous avez fait ça, dans votre script il faut d'abord lancer Mtex, puis après seulement lancer votre script de post-traitement. Je vous propose donc de faire un script matlab de lancement; faites un fichier "run_mtex.m" contenant :
 +<Code:bash>
 +cd ~/mtex-5.9.0
 +startup_mtex
 +cd ~/mtex
 +monscriptmtexici
 +</Code>
 +avec "monscriptmtexici" à remplacer par votre nom de fichier de script Mtex (sans marquer l'extension ".m"). On suppose aussi ici que votre répertoire de travail est /export/home/tartempion/mtex. Donc pensez bien à ajuster ce nom de répertoire dans le script de lancement.
 +
 +Pour résumer, quand vous lancez un traitement depuis un dossier de travail, mettez le fichier job dedans, celui-ci va lancer run_mtex.m, qui démarre Mtex et lance votre script. A priori ça devrait marcher. Sinon, n'hésitez pas à compléter ce tuto...
  
  
  • recherche/cluster/softwares.1657273727.txt.gz
  • Dernière modification : 08/07/2022 11:48
  • de aurelien.villani