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 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>. | ||
== 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 | 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 : 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]. | ||
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. |