User Tools

Site Tools


easybuild_environment

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
easybuild_environment [2020/10/22 14:05] – [Environment conflicts] lenocileasybuild_environment [2021/02/08 16:37] (current) jansen
Line 9: Line 9:
  
 ^Where ^OS^Mount Point^Remote Location^Protocol^ ^Where ^OS^Mount Point^Remote Location^Protocol^
-|Workstations \\ & Servers|Fedora 31| /easybuild/easybuild/fc31| Software Server| NFS| +|Workstations \\ & Servers|Fedora 33| /easybuild/easybuild/fc31| Software Server| NFS| 
 | ::: | RHEL7| /easybuild/easybuild/el7| Software Server| NFS|  | ::: | RHEL7| /easybuild/easybuild/el7| Software Server| NFS| 
-| ::: | RHEL7/Lustre| /easybuild/easybuild/el7_lustre| Software Server| NFS|  
 | ::: | RHEL8| /easybuild/easybuild/el8| Software Server| NFS|  | ::: | RHEL8| /easybuild/easybuild/el8| Software Server| NFS| 
 | Xmaris| CentOS 7| /marisdata/easybuild| Marisdata | NFS| | Xmaris| CentOS 7| /marisdata/easybuild| Marisdata | NFS|
Line 46: Line 45:
 Failing to do so, can result in the production of __non-portable__ softwares. On the other hand, we advise you build hardware-bound softwares in all cases in which execution performance is paramount. Failing to do so, can result in the production of __non-portable__ softwares. On the other hand, we advise you build hardware-bound softwares in all cases in which execution performance is paramount.
  
-Put particular attention if you are planning  to build  //OpenBLAS// via EasyBuild. In this case defining EASYBUILD_OPTARCH=GENERIC __is not sufficient__ to produce portable software (CPU independent). Use both ''export EASYBUILD_OPTARCH=GENERIC'' in your setup and ''--try-amend=buildopts='TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 BINARY=64 USE_THREAD=1 USE_OPENMP=1 CC="$CC" FC="$F77"' '' as EasyBuild (''eb'') runtime option.+Put particular attention if you are planning  to build  //OpenBLAS// via EasyBuild. In this case defining EASYBUILD_OPTARCH=GENERIC __is not sufficient__ to produce portable software (CPU independent). Use both ''export EASYBUILD_OPTARCH=GENERIC'' in your setup and ''--try-amend=buildopts='TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 BINARY=64 USE_THREAD=1 USE_OPENMP=1 CC="$CC" FC="$F77"' '' as EasyBuild (''eb'') runtime option. If your compilation fails you can try '' --try-amend=buildopts='TARGET=CORE2 BINARY=64 USE_THREAD=1 USE_OPENMP=1 CC="$CC" FC="$F77"' '' instead.
  
  
Line 283: Line 282:
  
 ==== Heterogeneous environments ==== ==== Heterogeneous environments ====
-If you are planning to use your EasyBuild-built software on a variety of CPUs, do not forget to instruct EasyBuild to do so via ''export EASYBUILD_OPTARCH=GENERIC''  and ''eb ... –try-amend=buildopts='TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 BINARY=64 USE_THREAD=1 USE_OPENMP=1 CC=“$CC” FC=“$F77”' '' as EasyBuild (eb) runtime option. +If you are planning to use your EasyBuild-built software on a variety of CPUs, do not forget to instruct EasyBuild to do so via ''export EASYBUILD_OPTARCH=GENERIC''  and ''eb ... –try-amend=buildopts='TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 BINARY=64 USE_THREAD=1 USE_OPENMP=1 CC=“$CC” FC=“$F77”' '' as EasyBuild (eb) runtime option if your are building OpenBLAS ((https://easybuild.readthedocs.io/en/latest/Controlling_compiler_optimization_flags.html#build-environment-vs-hardcoding-in-build-scripts)).
  
 Do you want to know  on what hardware you are? '' gcc -march=native -Q --help=target | awk '/march/{print $2}' '' Do you want to know  on what hardware you are? '' gcc -march=native -Q --help=target | awk '/march/{print $2}' ''
Line 290: Line 289:
  
 ==== Environment conflicts ==== ==== Environment conflicts ====
-Should any preset environment variables conflict with the correct execution of a program or should you want to modify the environment, you can do this directly in your [[https://easybuild.readthedocs.io/en/latest/version-specific/easyconfig_parameters.html#modules-parameters|easyconfig file]]. In the example below, we show how to //unset// an environment variable upon module loading+Should any preset environment variables conflict with the correct execution of a program or should you want to modify the environment at all, you can do this directly in your [[https://easybuild.readthedocs.io/en/latest/version-specific/easyconfig_parameters.html#modules-parameters|easyconfig file]]. In the example below, we show how to //unset// the environment variable LD_LIBRARY_PATH upon module loading 
  
 <code python> <code python>
easybuild_environment.1603375534.txt.gz · Last modified: 2020/10/22 14:05 by lenocil