Parallelism

OpenMP and Multithreading

If your computer has multiple cores, you might want to take advantage of all of them instead of running Abinit in serial mode. There are two ways of achieving this: OpenMP and Multithreading.

Various parts of Abinit have been optimized to work with OpenMP. In addition, OpenMP is usually provided directly by compilers and does not require the installation of additional libraries. The build system of Abinit can automatically set the corresponding compile flags for a dozen popular compilers if you ask for OpenMP at configure time. Should this not be the case for you, please consult the documentation of your compilers and contact us once you have found and successfully tried the flags to provide.

Abinit does not provide support for multithreading but can benefit from multithreaded versions of its external dependencies, as long as the multithreaded operations are entirely performed externally. Please note that Abinit is not developed with thread-safety in mind, so use multithreading with a lot of care.

MPI

MPI

GPU

GPU