<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<span class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Hi all, I'm struggling to get GPU-accelerated QE to install. I'm using a Dell T7910 with a Quadro M6000 24GB running Linux Mint 19.3 Cinnamon.
</span>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
$CUDA_HOME is empty - I have these folders - which one do I use?</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
/opt/nvidia/hpc_sdk/Linux_x86_64/22.3/cuda</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
/usr/local/cuda-11.4</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
the /usr/local option doesn't contain nvfortran, just nvcc - is this important? I've tried setting CUDA_HOME to every variation I can think of.<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span>nvaccelinfo returns the following:</span>
<div><br>
</div>
<div># /opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvaccelinfo  | grep -e 'Target' -e 'Driver'
<div>CUDA Driver Version:           11020</div>
</div>
<div><span>Default Target:                cc50</span></div>
<div><span><br>
</span></div>
<div><span>So according to the readme I should configure with the command:</span></div>
<div><span><br>
</span></div>
<div><span>./configure --enable-openmp --with-cuda=$CUDA_HOME --with-cuda-cc=35 --with-cuda-runtime=11.2 --enable-cuda-env-check=yes<br>
</span></div>
<div><span><br>
</span></div>
<div><span>When I run this, it kicks me out asking if I'm using a PGI compiler (it looks like it can't find nvfortran and has defaulted to mpif90). If I invoke using:</span></div>
<div><span><br>
</span></div>
<div><span>./configure --enable-openmp --with-cuda="/opt/nvidia/hpc_sdk/Linux_x86_64/22.3/cuda" --with-cuda-cc=35 --with-cuda-runtime=11.6 --enable-cuda-env-check=yes MPIF90="/opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvfortran" F90="/opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvfortran"
 F77="/opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvfortran"<br>
</span></div>
<div><span><br>
</span></div>
<div><span>IE supplying the absolute path to nvfortran then it does complete the configuration process. However, when I do make all it does compile a fair number of objects but eventually crashes out before creating the executables. This is the last bit of
 the output:</span></div>
<div><span><br>
</span></div>
lapack-3.6.1/BLAS/SRC/ztrsm.f
<div>lapack-3.6.1/BLAS/SRC/ztrsv.f</div>
<div>if test ! -e ../LAPACK/liblapack.a && test -e make_lapack.inc; then \</div>
<div>  (cp make_lapack.inc ../LAPACK/make.inc; \</div>
<div>  cd ../LAPACK; make blaslib lapacklib); else \</div>
<div>        (echo "no configuration file found for lapack"; \</div>
<div>         echo "run configure from main QE dir"; exit); fi </div>
<div>make[2]: Entering directory '/usr/local/qe/quantum-espresso/q-e-gpu-qe-gpu-6.7/lapack-3.6.1'</div>
<div>( cd BLAS/SRC; make )</div>
<div>make[3]: Entering directory '/usr/local/qe/quantum-espresso/q-e-gpu-qe-gpu-6.7/lapack-3.6.1/BLAS/SRC'</div>
<div>nvfortran -O1  -c isamax.f -o isamax.o</div>
<div><b>make[3]: nvfortran: Command not found</b></div>
<div>Makefile:171: recipe for target 'isamax.o' failed</div>
<div>make[3]: *** [isamax.o] Error 127</div>
<div>make[3]: Leaving directory '/usr/local/qe/quantum-espresso/q-e-gpu-qe-gpu-6.7/lapack-3.6.1/BLAS/SRC'</div>
<div>Makefile:21: recipe for target 'blaslib' failed</div>
<div>make[2]: *** [blaslib] Error 2</div>
<div>make[2]: Leaving directory '/usr/local/qe/quantum-espresso/q-e-gpu-qe-gpu-6.7/lapack-3.6.1'</div>
<div>extlibs_makefile:42: recipe for target 'liblapack_internal' failed</div>
<div>make[1]: *** [liblapack_internal] Error 2</div>
<div>make[1]: Leaving directory '/usr/local/qe/quantum-espresso/q-e-gpu-qe-gpu-6.7/install'</div>
<div>Makefile:213: recipe for target 'liblapack' failed</div>
<div>make: *** [liblapack] Error 2</div>
<div><br>
</div>
<div>I think it's the line in bold that's the problem (<b>make[3]: nvfortran: Command not found</b>) - it's not including the full path to nvfortran so isn't able to find it. I've set up an environment variable directing nvfortran to the correct file, but it
 doesn't seem to work. Looking at the log files, it seems to be a problem with F77 - the calls to MPIF90 and F90 seem to be redirecting to nvfortran okay (I could be wrong about this though).
<br>
</div>
<div><br>
</div>
<div>I'm guessing that if I can find the correct value to store in CUDA_HOME then it'll work, but I've tried everything I can think of and the results are always the same.</div>
<div><br>
</div>
<div>Any help would be gratefully received,</div>
<span>Steve</span></div>
<br>
</div>
</body>
</html>