Installing software in your home directory/fr: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Updating to match new version of source page)
No edit summary
Line 36: Line 36:
Dans certains cas cependant, particulièrement avec <tt>cmake</tt>, il peut être nécessaire d'indiquer de manière explicite la localisation de la bibliothèque fournie par le module. La solution préférée et la plus solide est d'utiliser la variable d'environnement EasyBuild <tt>EBROOT...</tt> plutôt que d'entrer manuellement le chemin. Ceci permet de facilement utiliser différentes chaînes de compilation (''toolchains'') sans modifier les instructions de compilation, en plus de minimiser le risque de lier une bibliothèque non apparentée. Par exemple, pour indiquer la localisation de la bibliothèque GSL, l'option pour <tt>cmake</tt> pourrait ressembler à <tt>-DGSL_DIR=$EBROOTGSL</tt>. Les variables d'environnement <tt>EBROOT...</tt> utilisent la même syntaxe, soit <tt>EBROOT</tt> suivi par le nom du paquet, par exemple <tt>EBROOTGCC</tt>.
Dans certains cas cependant, particulièrement avec <tt>cmake</tt>, il peut être nécessaire d'indiquer de manière explicite la localisation de la bibliothèque fournie par le module. La solution préférée et la plus solide est d'utiliser la variable d'environnement EasyBuild <tt>EBROOT...</tt> plutôt que d'entrer manuellement le chemin. Ceci permet de facilement utiliser différentes chaînes de compilation (''toolchains'') sans modifier les instructions de compilation, en plus de minimiser le risque de lier une bibliothèque non apparentée. Par exemple, pour indiquer la localisation de la bibliothèque GSL, l'option pour <tt>cmake</tt> pourrait ressembler à <tt>-DGSL_DIR=$EBROOTGSL</tt>. Les variables d'environnement <tt>EBROOT...</tt> utilisent la même syntaxe, soit <tt>EBROOT</tt> suivi par le nom du paquet, par exemple <tt>EBROOTGCC</tt>.


<div class="mw-translate-fuzzy">
== BLAS/LAPACK et MKL ==
== BLAS/LAPACK et MKL ==
Pour plusieurs paquets logiciels, les bibliothèques d'algèbre linéaire numérique BLAS ( <tt>-lblas</tt>) et LAPACK (<tt>-llapack</tt>) doivent être disponibles, ce qui n'est pas le cas pour les grappes de Calcul Canada puisque ces bibliothèque sont intégrées à [https://software.intel.com/en-us/mkl Math Kernel Library] (MKL) d'Intel. Si vous utilisez un des compilateurs Intel (par exemple ifort, icc ou icpc), la solution est simple&nbsp;: il suffit d'ajouter au compilateur l'indicateur <tt>-mkl=sequential</tt> (sans parallélisation MKL interne) ou <tt>-mkl</tt> (avec parallélisation) ainsi que les options d’édition des liens pour faire en sorte que MKL et BLAS/LAPACK soient utilisés. Pour plus d'information, voyez [https://software.intel.com/en-us/mkl-linux-developer-guide-using-the-mkl-compiler-option Using the -mkl Compiler Option]. Avec les compilateurs autres que ceux d'Intel, par exemple ceux de la collection Gnu, vous devrez lister explicitement les bibliothèques MKL à l'étape des liens; vous pouvez utiliser l'outil d'Intel pour construire la syntaxe (voir [https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor Intel MKL Link Line Advisor]).
Pour plusieurs paquets logiciels, les bibliothèques d'algèbre linéaire numérique BLAS ( <tt>-lblas</tt>) et LAPACK (<tt>-llapack</tt>) doivent être disponibles Ceci n'est pas le cas pour les grappes de Calcul Canada puisque ces bibliothèque sont intégrées à [https://software.intel.com/en-us/mkl Math Kernel Library] (MKL) d'Intel. Si vous utilisez un des compilateurs Intel (par exemple ifort, icc ou icpc), la solution est simple&nbsp;: il suffit d'ajouter au compilateur l'indicateur <tt>-mkl=sequential</tt> (sans parallélisation MKL interne) ou <tt>-mkl</tt> (avec parallélisation) ainsi que les options d’édition des liens pour faire en sorte que MKL et BLAS/LAPACK soient utilisés. Pour plus d'information sur <code>sequential</code> et d'autres options, voyez [https://software.intel.com/en-us/mkl-linux-developer-guide-using-the-mkl-compiler-option Using the -mkl Compiler Option].  
</div>


If you are using a non-Intel compiler, for example the Gnu compiler collection, then you will need to explicitly list the necessary MKL libraries during the link phase. Intel provides a tool called the [https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor MKL Link Advisor] to help you find the correct compiler and linker options.
If you are using a non-Intel compiler, for example the Gnu compiler collection, then you will need to explicitly list the necessary MKL libraries during the link phase. Intel provides a tool called the [https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor MKL Link Advisor] to help you find the correct compiler and linker options.
rsnt_translations
53,464

edits

Navigation menu