rsnt_translations
56,430
edits
(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 robuste 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 robuste 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>. | ||
== 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. Ceci n'est pas le cas pour nos grappes puisque ces bibliothèques 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 | 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 nos grappes puisque ces bibliothèques 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 <code>ifort, icc, icpc</code>) la solution est de remplacer <tt>-lblas</tt> et <tt>-llapack</tt> par <tt>-mkl=sequential</tt> (sans parallélisation MKL interne) ou <tt>-mkl</tt> (avec parallélisation) dans votre compilateur et les options d'édition des liens pour faire en sorte que MKL et ainsi 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]. | ||
Si vous utilisez un compilateur autre qu'Intel comme ceux de la collection GNU, vous devez lister explicitement les bibliothèques MKL nécessaires au cours du processus de ''build''. L'outil Intel [https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor MKL Link Advisor] peut vous aider à trouver les options correctes. | Si vous utilisez un compilateur autre qu'Intel comme ceux de la collection GNU, vous devez lister explicitement les bibliothèques MKL nécessaires au cours du processus de ''build''. L'outil Intel [https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor MKL Link Advisor] peut vous aider à trouver les options correctes. |