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 [2021/04/28 16:29] – yann | 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 | + | ==== Fortran |
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 ' | ||
- | * the inlet compiler (ifort) | + | * the intel compiler (ifort) |
* the GNU compiler (gfortran) | * the GNU compiler (gfortran) | ||
Common information on fortran compiler' | Common information on fortran compiler' | ||
- | ===== makefile | + | ==== Makefile |
- | You have to set up the makefile in accordance with your computing environment and your simulation type. Open the file ' | + | |
+ | You have to set up the makefile in accordance with the computing environment and the simulation type. In the file ' | ||
* Compiler options | * Compiler options | ||
- | | + | |
+ | |||
+ | Using proposed set of options | ||
==== Compiler options | ==== Compiler options | ||
+ | These parameters define the compiler and compilation options used. | ||
* COMPILER_TYPE=IFORT or GNU : compiler choice between ifort and gfortran. Default value is GNU | * COMPILER_TYPE=IFORT or GNU : compiler choice between ifort and gfortran. Default value is GNU | ||
* LEVEL_OPT= DEBUG, OPT_O2, OPT_O3 : select the level of compilation, | * LEVEL_OPT= DEBUG, OPT_O2, OPT_O3 : select the level of compilation, | ||
Ligne 21: | Ligne 28: | ||
* AMD_OPT=YES or NO : enable (or not) some additional optimization options for AMD architecture (Intel CPU). Options are : -mavx2. Default value is NO | * 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= .... . The user can add its own compiler' | * ADD_USER_OPT= .... . The user can add its own compiler' | ||
- | | + | |
* LOCAL (the default value) : the access path to external libraries is implicitly defined in the Operating System of the host. The usual fortran option " | * LOCAL (the default value) : the access path to external libraries is implicitly defined in the Operating System of the host. The usual fortran option " | ||
- | | + | |
- | * ' | + | * ' |
- | + | ||
- | === Code configuration options === | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | The code works with some specific blocks of instructions selected during the compilation in respect with the simulation setup (2D or 3D, parallel computation, | + | ==== Labels for the code configuration |
- | | + | In order to configure |
- | | + | So, this variable |
- | + | ||
- | The available labels in the code sunfluidh are : | + | |
- | * DIM2D or DIM3D associated to the 2D or 3D configuration. One of these labels must be necessary present for the compilation. | + | |
- | * MPI : MPI parallelisation | + | |
- | * OPENMP : The OpenMP parallelization of the code is performed during the compilation. Don't forget | + | |
- | * SHARED_DISK : This label is used in order to handle some backup/ | + | |
- | * HYPRE : HYPRE Library (with MPI) | + | |
- | These labels must be placed in the variable CODE_CONFIG (see examples in the makefile).\\ | + | The common |
+ | * -DDIM3D | ||
+ | * -DDIM2D | ||
+ | * -DMPI : for MPI parallelisation with domain docomposition approach | ||
+ | * -DOPENMP | ||
+ | * -DSHARED_DISK : files are stored on disks shared by all processors (this default option | ||
+ | * -DNOLIBS | ||
- | Set the different variables related to the paths in order to access to the suitable libraries. The path variables depend on our system environment. Sometimes they can be leave empty (library not used, access path already defined by the system) | + | Some other labels are available and can be used in specific cases |
- | | + | |
- | | + | |
- | | + | |
- | * etc ... | + | |
- | You can define new access path variables if needed (use of other libraries not explicitly mentioned here) and add them in the variables LDFLAGS_LIB (for the compile process) and/or LDFLAGS_EXE (for the link-edit process). | + | The default configuration proposed |
+ | [[sunfluidh: |
sunfluidh/makefile_configuration.1619620164.txt.gz · Dernière modification : 2021/04/28 16:29 de yann