Install Yambo on Ubuntu/LinuxMint with Intel compiler: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
* [https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#inpage-nav-10-undefined Intel MPI libraries]  
* [https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#inpage-nav-10-undefined Intel MPI libraries]  
* [https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#inpage-nav-11-5 Intel MKL libraries].
* [https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#inpage-nav-11-5 Intel MKL libraries].
notice that Intel compilers require g++ on your system to work properly if you did not installed it yet, just do it with the command:
sudo apt-get install g++
and then you need also the zlib in order to compile NetCDF and HDF5, that you can install with the command:
sudo apt install zlib1g zlib1g-dev


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


  source /opt/intel/oneapi/setvars.sh
  source /opt/intel/oneapi/setvars.sh
Line 30: Line 22:


<span style="color:red">Nota bene</span>: every time you compile or use yambo, you have to load the Intel variables with the command: '''source /opt/intel/oneapi/setvars.sh'''
<span style="color:red">Nota bene</span>: 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 find problem compiling yambo with PetSC and Slepc you can compile them separately with the command:
./configure --prefix=/home/attacc/local_usr/ CC=icx CXX=icx FC=mpiifort --with-blas-lapack-dir=${MKLROOT} --with-scalapack-dir=${MKLROOT}
make 
make install
and then for the Slepc

Revision as of 11:21, 11 June 2024

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 find problem compiling yambo with PetSC and Slepc you can compile them separately with the command:

./configure --prefix=/home/attacc/local_usr/ CC=icx CXX=icx FC=mpiifort --with-blas-lapack-dir=${MKLROOT} --with-scalapack-dir=${MKLROOT}
make  
make install

and then for the Slepc