shankar1729 / jdftx

JDFTx: software for joint density functional theory
http://jdftx.org
82 stars 54 forks source link

an issue running the GPU version of JDFTX on the HPC #193

Closed 343333333 closed 2 years ago

343333333 commented 2 years ago

i compile the programm like the site http://jdftx.org/Supercomputers.html in "Compiling on TACC" and it seems to work well on cpu version of jdftx. but when i turn to the gpu version something went wrong. my environment variable is:

export KMP_BLOCKTIME=0
export KMP_AFFINITY=granularity=fine,verbose,compact,1,0
export CUDA_VISIBLE_DEVICES=0
module load mpi/openmpi/3.1.2_intel
module load cuda/10.0
module load intel/2018.4
module load fftw/3.3.8

here is the log:

CUDA Error: no kernel image is available for execution on the device
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------

it seems that the mission is stopped when it loads "Setting up pseudopotentials" the here is the out file 2603377.txt

i look up the internet and it says that my gpu's computing power is too low. So, do you have any ideas or solutions? thx

343333333 commented 2 years ago

ok , i figure it out. i forget to tell the complier the -D CUDA_ARCH=compute_xy and -D CUDA_CODE=sm_xy is. for V100 the calculate ability is 70. so i set the value : -D CUDA_ARCH=compute_70 -D CUDA_CODE=sm_70 now it works well.