38,760
edits
(Created page with "D'autres solutions ''open source'' peuvent être téléchargées et utilisées, soit * [http://www.openblas.net/ OpenBLAS], * [http://math-atlas.sourceforge.net/ ATLAS], * [h...") |
(Updating to match new version of source page) |
||
Line 58: | Line 58: | ||
L'installation de binaires précompilés (tels que [https://conda.io/miniconda.html Miniconda]) dans votre espace home pourrait générer une erreur comme <code>/lib64/libc.so.6: version `GLIBC_2.18' not found</code>. Le script <code>setrpaths.sh</code> peut souvent éliminer ce problème avec la syntaxe <code>setrpaths.sh --path path [--add_origin]</code> où ''path'' représente le répertoire dans lequel vous avez installé le logiciel. Le script fait en sorte que les binaires utilisent le bon interpréteur et trouvent les bibliothèques auxquelles ils sont dynamiquement liés, dans le bon répertoire. L'option <code>--add_origin</code> ajoute aussi $ORIGIN au RUNPATH, ce qui peut s'avérer utile si la bibliothèque est incapable de trouver d'autres bibliothèques dans le répertoire où elle est située. | L'installation de binaires précompilés (tels que [https://conda.io/miniconda.html Miniconda]) dans votre espace home pourrait générer une erreur comme <code>/lib64/libc.so.6: version `GLIBC_2.18' not found</code>. Le script <code>setrpaths.sh</code> peut souvent éliminer ce problème avec la syntaxe <code>setrpaths.sh --path path [--add_origin]</code> où ''path'' représente le répertoire dans lequel vous avez installé le logiciel. Le script fait en sorte que les binaires utilisent le bon interpréteur et trouvent les bibliothèques auxquelles ils sont dynamiquement liés, dans le bon répertoire. L'option <code>--add_origin</code> ajoute aussi $ORIGIN au RUNPATH, ce qui peut s'avérer utile si la bibliothèque est incapable de trouver d'autres bibliothèques dans le répertoire où elle est située. | ||
<div class="mw-translate-fuzzy"> | |||
Note : | Note : | ||
* Certains fichiers d'archive Java (format <code>.jar</code>) peuvent contenir des objets qui devront être corrigés. Le script <code>setrpaths.sh</code> extrait ces objets, les corrige et met à jour le fichier d'archive. | * Certains fichiers d'archive Java (format <code>.jar</code>) peuvent contenir des objets qui devront être corrigés. Le script <code>setrpaths.sh</code> extrait ces objets, les corrige et met à jour le fichier d'archive. | ||
</div> | |||
== L'environnement logiciel de Calcul Canada == | == L'environnement logiciel de Calcul Canada == | ||
Line 78: | Line 80: | ||
* Tous les binaires sous <code>/cvmfs/soft.computecanada.ca</code> utilisent un RUNPATH; les répertoires des bibliothèques d'exécution desquels dépendent ces binaires sont placés dans le binaire. Il '''n'est donc pas nécessaire''' d'utiliser <code>$LD_LIBRARY_PATH</code>. En fait, <code>$LD_LIBRARY_PATH</code> a préséance sur le RUNPATH et cette variable d'environnement ne devrait pas se trouver dans des endroits comme <code>/usr/lib64</code> ou <code>$EBROOTNIXPKGS/lib</code>. Si vous procédez ainsi, plusieurs binaires ne fonctionneront pas. | * Tous les binaires sous <code>/cvmfs/soft.computecanada.ca</code> utilisent un RUNPATH; les répertoires des bibliothèques d'exécution desquels dépendent ces binaires sont placés dans le binaire. Il '''n'est donc pas nécessaire''' d'utiliser <code>$LD_LIBRARY_PATH</code>. En fait, <code>$LD_LIBRARY_PATH</code> a préséance sur le RUNPATH et cette variable d'environnement ne devrait pas se trouver dans des endroits comme <code>/usr/lib64</code> ou <code>$EBROOTNIXPKGS/lib</code>. Si vous procédez ainsi, plusieurs binaires ne fonctionneront pas. | ||
* En dernier recours, utilisez <code>module --force purge</code> pour éliminer l'environnement CVMFS. Vous obtiendrez ainsi une installation CentOS-7 brute, sans modules. Ceci peut servir dans des cas spéciaux où vous compilez GCC par vous-même ou quand vous utilisez des chaines d'outils de compilation comme [http://www.astro.wisc.edu/~townsend/static.php?ref=mesasdk MESA SDK]. Il ne serait nécessaire de purger des modules qu'à la compilation et ils peuvent être chargés à nouveau au lancement du logiciel. | * En dernier recours, utilisez <code>module --force purge</code> pour éliminer l'environnement CVMFS. Vous obtiendrez ainsi une installation CentOS-7 brute, sans modules. Ceci peut servir dans des cas spéciaux où vous compilez GCC par vous-même ou quand vous utilisez des chaines d'outils de compilation comme [http://www.astro.wisc.edu/~townsend/static.php?ref=mesasdk MESA SDK]. Il ne serait nécessaire de purger des modules qu'à la compilation et ils peuvent être chargés à nouveau au lancement du logiciel. | ||
== Compiling on compute nodes == | |||
In most situations you can compile on the login nodes. However, if the code needs to be built on a node | |||
* with a GPU, or | |||
* with a Skylake CPU, | |||
then you should start an [[Running jobs#Interactive jobs|interactive job]] on a host with the hardware you need, and compile from there. |