How to install Yambo on a GPU cluster

Having trouble compiling the Yambo source? Using an unusual architecture? Problems with the "configure" script? Problems in GPU architectures? This is the place to look.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan, Nicola Spallanzani

Forum rules
If you have trouble compiling Yambo, please make sure to list:
(1) the compiler (vendor and release: e.g. intel 10.1)
(2) the architecture (e.g. 64-bit IBM SP5)
(3) if the problems occur compiling in serial/in parallel
(4) the version of Yambo (revision number/major release version)
(5) the relevant compiler error message
Post Reply
User avatar
jasonhan0710
Posts: 58
Joined: Wed Dec 23, 2020 6:48 am
Location: China

How to install Yambo on a GPU cluster

Post by jasonhan0710 » Sat Jun 12, 2021 2:05 am

Dear all,

I have noticed that yambo 5.0.x have extended CUDA support. However I have no idea to install it on a GPU machine. Would you please tell me how to install it with CUDA? Thank you!

Best,
Jason
Jason Han

Assistant Professor
Department of Physics
National University of Defense Technology
Hunan, China

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: How to install Yambo on a GPU cluster

Post by Daniele Varsano » Sat Jun 12, 2021 8:43 am

Dear Jason,

Yambo is ported using CUDA Fortran, you need to compile Yambo using the PGI fortran compiler.
In the GPU supercomputer I use I have this settings:

Code: Select all

module load cuda/10.2
module load hpc-sdk/2020--binary
module load spectrum_mpi/10.3.1--binary

Code: Select all

export FC=pgf90
export F77=pgfortran
export CPP='cpp -E'
export CC=pgcc
export FPP="pgfortran -Mpreprocess -E"
export F90SUFFIX=".f90"
export MPIFC=mpipgifort
export MPIF77=mpipgifort
export MPICC=mpipgicc

Code: Select all

./configure FC=$FC F77=$F77 CPP="cpp -E"  CC=$CC MPIFC=$MPIFC MPIF77=$MPIF77 MPICC=$MPICC \
    --with-blas-libs="-lblas" \
    --with-lapack-libs="-llapack" \
    --enable-cuda=cuda10.2,cc70 \
    --enable-mpi --enable-open-mp \
    --enable-msgs-comps \
    --enable-time-profile \
    --enable-memory-profile
Essentially you need to use the directive

Code: Select all

--enable-cuda=cuda10.2,cc70
according to your GPU cards and compile the code with PGI compiler.

Best,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Dean
Posts: 98
Joined: Thu Oct 10, 2019 7:03 am

Re: How to install Yambo on a GPU cluster

Post by Dean » Fri Apr 21, 2023 2:29 am

Dear all,

I want to build yambo on GPU nodes. However, I just got a serial version, which shows low efficiency.
Here is my setting:

Code: Select all

export PATH=/home/dingym/bin/nvhpc_sdk/Linux_x86_64/23.3/compilers/bin:$PATH
export MANPATH=/home/dingym/bin/nvhpc_sdk/Linux_x86_64/23.3/compilers/man:$MANPATH

Code: Select all

./configure FC=nvfortran F77=nvfortran  CC=nvc CPP="cpp -E -P" FPP="pgfortran -Mpreprocess -E" --enable-cuda=cuda11.0,cc80 --enable-msgs-comps --enable-memory-profile --enable-mpi
The setup file is attached.
Any help is appreciated!Thanks in advance.
You do not have the required permissions to view the files attached to this post.
Dr. Yimin Ding
Soochow University, China.

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: How to install Yambo on a GPU cluster

Post by Daniele Varsano » Mon Apr 24, 2023 11:12 am

Dear Yimin,
it seems that MPI library are not linked. The config.log file would help to spot the reason this happened.
You can try to assign the MPI from the configure as:
./configure CC=nvc FC=nvfortran FPP="nvfortran -Mpreprocess -E" MPIFC=mpif90 ....

and see if it is recognized.
Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

vvu
Posts: 3
Joined: Tue Jul 11, 2023 3:25 pm
Location: Paris-Saclay
Contact:

Re: How to install Yambo on a GPU cluster

Post by vvu » Tue Aug 08, 2023 1:06 pm

Dears developers!

I want to install Yambo in the IRENE machine in order to use CUDA's GPUs.
I saw in this tutorial for CPUs in IRENE:
https://www.yambo-code.eu/wiki/index.ph ... iot_Curie).
I tried to add: --enable-cuda=cuda11.0,cc70 at the end of the ./configure command for CPUS in IRENE (as in the link above) but it doesn't work.

Could you please help me?

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: How to install Yambo on a GPU cluster

Post by Daniele Varsano » Thu Aug 24, 2023 8:59 am

Dear vvu,
please, sign your post with your name and affiliation, this is a rule of the forum. You can do once for all by filling the signature in your user profile.

In order to understand what is failing can you please post the config.log file?

Best,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Post Reply