sunfluidh:makefile_configuration
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
sunfluidh:makefile_configuration [2018/12/05 13:50] – witko | sunfluidh:makefile_configuration [2021/04/30 18:47] (Version actuelle) – [Compiler options] yann | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
===== How to configure the makefile ===== | ===== How to configure the makefile ===== | ||
+ | [[sunfluidh: | ||
+ | ----- | ||
+ | ==== Fortran compilers ==== | ||
The code sunfluidh is programmed in fortran 95 and 2003. | The code sunfluidh is programmed in fortran 95 and 2003. | ||
- | A makefile (named makefile) is present in the directory ' | + | A makefile (named makefile) is present in the directory ' |
- | Some examples | + | * the intel compiler (ifort) |
- | | + | * the GNU compiler |
- | * pgf95 (the PGI compiler) | + | |
- | | + | |
- | | + | |
Common information on fortran compiler' | Common information on fortran compiler' | ||
- | The code works with some specific blocks of instructions that must be selected during the compilation in respect with the configuration of the simulation (2D or 3D, parallel calculation, | ||
- | | + | ==== Makefile setup ==== |
- | | + | |
- | pgif95 ... -Mpreprocess | + | You have to set up the makefile in accordance with the computing environment and the simulation type. In the file ' |
- | xlf95 | + | * Compiler options |
- | + | * Labels for the code configuration | |
- | The available labels in the code sunfluidh are : | + | |
- | | + | Using proposed set of options make easier the compilation stage but the user feels free to define his own options, particularly about the compiler options. |
- | | + | |
- | * OPENMP : The OpenMP parallelization of the code is performed during | + | ==== Compiler options |
- | | + | |
- | | + | These parameters define the compiler and compilation options used. |
+ | * COMPILER_TYPE=IFORT or GNU : compiler choice between ifort and gfortran. | ||
+ | * LEVEL_OPT= DEBUG, OPT_O2, OPT_O3 : select the level of compilation, | ||
+ | * SKYLAKE_OPT=YES or NO : enable (or not) some additional optimization options for skylake Intel architecture (Intel CPU). Options are : -axAVX, | ||
+ | * REPORT_OPT=NO : Create a report about compiler' | ||
+ | * AMD_OPT=YES or NO : enable (or not) some additional optimization options for AMD architecture (Intel CPU). Options are : -mavx2. Default value is NO | ||
+ | * ADD_USER_OPT= | ||
+ | | ||
+ | | ||
+ | * MODULE : the access path to external libraries is enabled by means of the " | ||
+ | * ' | ||
+ | |||
+ | ==== Labels for the code configuration ==== | ||
+ | |||
+ | In order to configure | ||
+ | So, this variable must just be set as CODE_CONFIG= LABEL1 LABEL2 ... | ||
+ | |||
+ | The common labels to use are : | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * -DNOLIBS | ||
+ | |||
+ | Some other labels are available and can be used in specific cases | ||
+ | |||
+ | * -DHYPRE | ||
+ | * -DHDF5 | ||
+ | | ||
+ | |||
+ | The default configuration proposed | ||
+ | |||
+ | [[sunfluidh: |
sunfluidh/makefile_configuration.1544014250.txt.gz · Dernière modification : 2018/12/05 13:50 de witko