### Table of Contents

# Required Packages

The following packages are either mandatory dependencies or strongly recommended external libraries, without which some important functionalities of abinit will not function

## Linear Algebra

Abinit will work only if linear algebra libraries are present on the computer. Only 2 linear algebra components are mandatory:

Even if you are free to install the reference implementation from Netlib, we highly recommend you to use an optimized implementation instead, in particular if you intend to perform complex calculations. A full list of supported libraries is available on the Configuring linear algebra page.

If you are using Linux, the best way to install linear algebra libraries is to use the package manager of your distribution to get some of them and/or install the Intel Math Kernel Library.

For macOS, many libraries can be installed using Macports or Homebrew.

The University of Tennessee has also some useful information on how to install linear algebra libraries on Windows

On many high performance computers, you will have access to optimized libraries (mkl, ESSL, ACML, OpenBLAS,…) - use these at all costs

They will speed up abinit runs by up to an order of magnitude: more than 60% of computation time is spent in these external libraries.

## Fast Fourier Transforms

Abinit has an internal FFT library made by Stefan Goedecker in the 1990s, which he then cleverly parallelized in the 2000s.

This is the default, but not the fastest FFT library abinit has access to. You want to link to external recent optimized versions.

The main library in wide use today is the FFTW3 which is very powerful, threaded, and optimized to death.

The vendor optimized mkl and other libraries often provide versions of FFTW3 - use these as a priority

There exist other FFT libraries on the market, but abinit does not support them systematically.

Check the options of the configure script for more details.

## LibXC

LibXC is a library implementing almost all known exchange correlation functionals.

Since ABINITv9 it is a strict requirement for abinit usage - you gain access to many xc approximations, metaGGAs and so on: you want this.

You can download LibXC from its Download page.

[TO BE SUPPRESSED, see Fallbacks]. Our Installing LibXC page will give you useful instructions to install LibXC properly and make it work with Abinit.

## NetCDF / NetCDF_Fortran / HDF5

NetCDF is a binary portable file format used for many outputs of abinit.

Use it for portability, flexibility, and inter-operability with other codes and post-processing tools, e.g. abipy.

You can download NetCDF/NetCDF-Fortran from its Unidata page.

You can download HDF5 from its HDF5 page.

[TO BE SUPPRESSED, see Fallbacks]. Our Installing NetCDF page will give you useful instructions to install NetCDF properly and make it work with Abinit.