Installation
Preinstall
Download the yambo source as explained in Getting Yambo.
Yambo can make good use of external libraries like FFTW, ESSL, BLAS, netCDF, and so on. It is worth identifying if they are already installed on your system, especially for HPCs.
Quick install
If you are lucky, the configure script will successfully find the best compiler options.
% tar -xvzf yambo-latest.tar.gz % cd yambo-X.X.X % ./configure % make yambo ypp interfaces
Executables are found in the bin folder. To check that it works:
% ./bin/yambo Cannot access CORE database (SAVE/*db1 and/or SAVE/*wf)
Full install
In general, however, some fine-tuning will be necessary to link the requested libraries.
./configure --help
for a large set of options.
Insert details here...
After configure, you can also edit the config/setup
file.
See also
- Configure options for Yambo v3 and earlier
- configure options for Yambo v4
- Machine specific configure scripts
Linking to external libraries
NetCDF support
One of the most useful features of yambo is its ability to carry out all (or most of!) the database I/O using the NetCDF libraries. If NetCDF support is not possible, yambo will handle the database I/O using the native binary Fortran format. Many high-performance architectures already have the NetCDF libraries available, so make sure to check these out first. If not, you will have to download and compile the libraries from the link above. You might find it useful to consult the successful build outputs. Once NetCDF is compiled and installed on your system, you can use the configure script to compile yambo with NetCDF support using
./configure --with-netcdf-lib=<NetCDF LIB DIRECTORY> --with-netcdf-include=<NetCDF INCLUDE DIRECTORY>
NetCDF as underlying storage layer of HDF5
It is possible to configure NetCDF 4.x.x as underlying storage layer of the HDF5 library. Compile Yambo with NetCDF as described in the previous section and add the flag --enable-netcdf-hdf5. Notice that when NetCDF library is compiled with the HDF5 support it requires additional libraries in the linking process, see here for more details. Yambo automatically detects these libraries but if it doesn't work you can use the flag --with-netcdf-link=... to pass you own libraries list. FFTW support
The configure script should hopefully detect FFTW libraries if they are located in your $PATH. Otherwise, you can specify user-defined locations with
./configure --with-fftw=<FFTW LIB DIRECTORY> If you are running on the CINECA CRAY systems, the FFTW library is located in /cineca/prod/lib. Hence, try compiling with: ./configure --with-fftw=/cineca/prod/lib Of course, if the linking with FFTW doesn't work, the default Goedecker FFT routines will be used.
IOTK support
To import output from PWscf/Quantum-Espresso, the IOTK libraries (Input/Output ToolKit, bundled with the QE distribution) need to be linked. Provide the path to the IOTK directory in the compiled PWscf source, and specify the version of PWscf, e.g.:
./configure --with-iotk='/usr/local/src/espresso-4.0/iotk' --with-p2y=4.0 On some HPC systems you might have to compile PWscf yourself to make the IOTK libraries available.
ETSF-IO support
To import output from Abinit, you can compile abinit with the option --with-trio-flavor="none" and then compile the yambo interfaces with no additional options.
However from yambo 3.4.1 we suggest to use the ETSF-IO support. Try to compile abinit with the netcdf+etsf_io IO/flavor. If you are in the $ABINIT_SOURCE_PATH directory, you may try something like that:
mkdir compile_tmp cd compile_tmp ../configure --with-trio-flavor="netcdf+etsf_io" --with-dft-flavor="libxc" --with-netcdf-incs="-I/usr/include/"
--with-netcdf-libs="-L/usr/lib/ -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lcurl -lz" MPI_RUNNER="mpirun" CC="mpicc" FC="mpif90" --prefix="$ABINIT_INSTALL_PATH" --exec-prefix="$ABINIT_INSTALL_PATH"
and then compile yambo with the ETSF-IO support ./configure --with-etsf-io-lib="$ABINIT_SOURCE_PATH/compile_tmp/fallbacks/exports/lib"
--with-etsf-io-include="$ABINIT_SOURCE_LIB/compile_tmp/fallbacks/exports/include"