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

From The Yambo Project
Jump to navigation Jump to search
No edit summary
No edit summary
Line 25: Line 25:
  cc70            Compile for compute capability 7.0
  cc70            Compile for compute capability 7.0


just have a look to the wiki webpage to see the compatibility of your card: [https://en.wikipedia.org/wiki/CUDA#GPUs_supported GPUs supported].
just have a look to the wiki webpage to see the compatibility of your card: [https://en.wikipedia.org/wiki/CUDA#GPUs_supported GPUs supported].<br>
More info on Yambo on NVIDIA graphic cards can be found here: [https://www.nvidia.com/en-us/on-demand/session/gtcspring21-e32448/ Materials Design Toward the Exascale: Porting Electronic Structure Community Codes to GPUs]
More info on Yambo on NVIDIA graphic cards can be found here: [https://www.nvidia.com/en-us/on-demand/session/gtcspring21-e32448/ Materials Design Toward the Exascale: Porting Electronic Structure Community Codes to GPUs]


<span style="color:#ff0000">Nota bene 1</span>: cc20 and cc30 are not support anymore in the last version of the nvidia compiler<br>
<span style="color:#ff0000">Nota bene 1</span>: cc20 and cc30 are not support anymore in the last version of the nvidia compiler<br>
<span style="color:#ff0000">Nota bene 2</span>: if you want to use a CUDA graphic card you need to compile openmpi or mpich with the cuda support
<span style="color:#ff0000">Nota bene 2</span>: if you want to use a CUDA graphic card you need to compile openmpi or mpich with the cuda support

Revision as of 09:48, 14 June 2021

The NVIDIA compiler are freely available on Linux machines. You can download Fortran,C, C++ compiler and debugger from:

NVIDIA HPC Software Development Kit (SDK)

Once you downloaded and installed the NVIDIA compiler do not forget to set the correct PATH and LD_LIBRARY_PATH variables.
If you want to use NVIDIA compiler in parallel you need to recompile openmpi or mpich with this compiler.

Then you can configure Yambo with the command:

./configure FC=nvfortran F77=nvfortran  CC=nvc CPP="gcc -E -P" FPP="gfortran -E -P -cpp" \
--enable-open-mp --enable-par-linalg --enable-hdf5-par-io --enable-slepc-linalg

Configure NVfortran with a CUDA graphic card

If you have an installed CUDA GPU on your machine you can compile Yambo to use it, by adding the flag --enable-cuda="cuda-version,card-version".
Where cuda-version is the version of your cuda libraries, just look in the folder /opt/nvidia/hpc_sdk/Linux_x86_64/ and you will find a folder with the version of your NVIDIA SDK.
For the card-version different options are available:

cc20            Compile for compute capability 2.0
cc30            Compile for compute capability 3.0
cc35            Compile for compute capability 3.5
cc50            Compile for compute capability 5.0
cc60            Compile for compute capability 6.0
cc70            Compile for compute capability 7.0

just have a look to the wiki webpage to see the compatibility of your card: GPUs supported.
More info on Yambo on NVIDIA graphic cards can be found here: Materials Design Toward the Exascale: Porting Electronic Structure Community Codes to GPUs

Nota bene 1: cc20 and cc30 are not support anymore in the last version of the nvidia compiler
Nota bene 2: if you want to use a CUDA graphic card you need to compile openmpi or mpich with the cuda support