Install Yambo on Ubuntu/LinuxMint with Intel compiler

From The Yambo Project
Revision as of 11:37, 11 June 2024 by Attacc (talk | contribs)
Jump to navigation Jump to search

The Intel compiler are freely available on Linux machines.
From the Intel oneAPI page, download and install:

Now that you have installed all packages necessary to compile yambo, you can setup the Intel environment. If you use the bash/sh shell just do:

source /opt/intel/oneapi/setvars.sh

now all intel compilers and libraries will be in your path, you are ready to install Yambo. The Yambo configure automatically recognize BLAS, LAPACK and FFT from MKL, you have just to specify to use MKL also for BLACS and SCALAPACK.

./configure CC=icx MPICC=mpiicx MPIFC=mpiifort MPIF77=mpiifort FC=ifort F77=ifort --enable-open-mp --enable-par-linalg --with-scalapack-libs=mkl --with-blacs-libs=mkl --enable-slepc-linalg

finally compile the code with:

make core

Nota bene: every time you compile or use yambo, you have to load the Intel variables with the command: source /opt/intel/oneapi/setvars.sh

If you have problems compiling PetSC and Slepc inside Yambo you can download them seperately the configure and compile them with the commands:

for PetSC:

 Download last version, for example:
 wget https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-3.21.2.tar.gz
 tar zxvf petsc-3.21.2.tar.gz
 cd petsc-3.21.2
 export PETSC_DIR=$PWD
 ./configure --prefix=/home/attacc/local_usr/ CC=icx CXX=icx FC=mpiifort --with-blas-lapack-dir=${MKLROOT} --with-scalapack-dir=${MKLROOT}
 make  
 make install

for the SlePC:

and then use them in Yambo: