developers:buildsys:internals
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
developers:buildsys:internals [2020/03/04 21:19] – Yann Pouillon | developers:buildsys:internals [2024/09/02 14:26] (current) – Maryam Azizi | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Build-system | + | <WRAP important> |
+ | |||
+ | ====== Build-system | ||
===== Target audience ===== | ===== Target audience ===== | ||
- | This document | + | This document |
+ | Might contain helpful info for Abinit maintainers who want to hack the build system, and for collaborators who want to enhance the interoperability of their projects with Abinit. | ||
===== Linear algebra ===== | ===== Linear algebra ===== | ||
Line 9: | Line 12: | ||
The following simplified diagram summarizes how the build system detects linear algebra features. The starting point is colored in blue, the ending point in green, and the decision points in pink. Enhancements are framed with dashed lines. | The following simplified diagram summarizes how the build system detects linear algebra features. The starting point is colored in blue, the ending point in green, and the decision points in pink. Enhancements are framed with dashed lines. | ||
- | <ditaa> | + | {{ : |
- | / | + | |
- | |cBLU Start | | + | |
- | | + | |
- | | | + | |
- | v | + | |
- | no / | + | |
- | +--------------+cPNK with_linalg_libs? +--------------+ | + | |
- | | + | |
- | v v | + | |
- | no / | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | Set up parameters from | | Look for flavored | / | + | |
- | | CPU and Fortran vendors| | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | / | + | |
- | |cPNK OpenMP? | + | |
- | | + | |
- | | + | |
- | | + | |
- | +-=------+--------+ | + | |
- | | Look for PLASMA | | | | + | |
- | +--------+--------+ | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | / | + | |
- | +-------+cPNK MPI? | | | + | |
- | | | + | |
- | | |yes | | + | |
- | | | | | + | |
- | | v | | + | |
- | | +----------+----------+ | + | |
- | | | Look for ScaLAPACK | + | |
- | | +---------------------+ | + | |
- | | |no | | + | |
- | | v | | + | |
- | +-------------------------------------------------------> | + | |
- | | | + | |
- | | | + | |
- | v | + | |
- | / | + | |
- | |cGRE Done | | + | |
- | +----------/ | + | |
- | </ | + | |
The driving parameter of the detection process is the // | The driving parameter of the detection process is the // | ||
Line 114: | Line 66: | ||
The following options are needed: | The following options are needed: | ||
- | * dfti\\ | + | * dfti |
- | + | * fftw3 | |
- | * dfti-threads\\ | + | |
- | + | ||
- | * fftw3\\ | + | |
* fftw3-threads | * fftw3-threads | ||
- | while fftw3-mkl can be removed. | + | while fftw3-mkl can be removed. dfti-threads can also be removed because MKL manages threading through environment variables. |
fftw3-mpi can be replaced by a simple check on the presence of fftw_mpi_init that defines HAVE_FFTW3_MPI | fftw3-mpi can be replaced by a simple check on the presence of fftw_mpi_init that defines HAVE_FFTW3_MPI | ||
The pfft option may be used to activate a specialized routine for fourdp but pfft should also activate HAVE_FFTW3 so that we can use the zero-padded version in fourwf. | The pfft option may be used to activate a specialized routine for fourdp but pfft should also activate HAVE_FFTW3 so that we can use the zero-padded version in fourwf. |
developers/buildsys/internals.1583356749.txt.gz · Last modified: 2020/03/04 21:19 by Yann Pouillon