Install Yambo on Ubuntu/LinuxMint with Intel compiler: Difference between revisions
No edit summary |
No edit summary |
||
Line 23: | Line 23: | ||
<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 have problems compiling PetSC and Slepc inside Yambo you can download them | If you have problems compiling PetSC and Slepc inside Yambo you can download them separately the configure and compile them with the commands:<br><br> | ||
'''for PetSC:''' | '''for PetSC:''' | ||
Download last version, for example: | Download last version, for example: | ||
wget https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-3.21.2.tar.gz | 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 | tar zxvf petsc-3.21.2.tar.gz | ||
cd petsc-3.21.2 | cd petsc-3.21.2 | ||
export PETSC_DIR=$PWD | export PETSC_DIR=$PWD | ||
export PETSC_ARCH=linux-opt | |||
export INSTALL_DIR=/home/attacc/local_single # where you want to install the libraries | |||
./configure --prefix=${INSTALL_DIR} CC=mpiicx CXX=mpiicx FC=mpiifx --with-blas-lapack-dir=${MKLROOT} --with-scalapack-dir=${MKLROOT} --with-precision=single | |||
make | make | ||
make install | make install | ||
Notice that if you use Yambo_nl you have to compile the libraries in double-precision | |||
'''for the SlePC:''' | '''for the SlePC:''' | ||
wget https://slepc.upv.es/download/distrib/slepc-3.21.1.tar.gz | |||
cd slepc-3.21.1/ | |||
export SLEPC_DIR=$PWD | |||
./configure --prefix=${INSTALL_DIR} | |||
make | |||
make install | |||
and then use them in Yambo: | and then use them in Yambo: | ||
./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 \ | |||
--with-petsc-path="${INSTALL_DIR}" --with-slepc-path="${INSTALL_DIR}" |
Revision as of 12:05, 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 have problems compiling PetSC and Slepc inside Yambo you can download them separately 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 export PETSC_ARCH=linux-opt export INSTALL_DIR=/home/attacc/local_single # where you want to install the libraries ./configure --prefix=${INSTALL_DIR} CC=mpiicx CXX=mpiicx FC=mpiifx --with-blas-lapack-dir=${MKLROOT} --with-scalapack-dir=${MKLROOT} --with-precision=single make make install
Notice that if you use Yambo_nl you have to compile the libraries in double-precision
for the SlePC:
wget https://slepc.upv.es/download/distrib/slepc-3.21.1.tar.gz cd slepc-3.21.1/ export SLEPC_DIR=$PWD ./configure --prefix=${INSTALL_DIR} make make install
and then use them in Yambo:
./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 \ --with-petsc-path="${INSTALL_DIR}" --with-slepc-path="${INSTALL_DIR}"