The problem is maybe -arch sm_13 instead of -arch sm_11 in the Makefile, please doublecheck
brioglade opened this issue · 3 comments
Error in setConst_hprime_xx: invalid device symbol
The problem is maybe -arch sm_13 instead of -arch sm_11 in the Makefile, please doublecheck
hi, which line should I uncomment in the makefile? I have the same problem with cuda12.2.
what is the GPU card you're using? check the architecture of the card (Pascal, Volta, Ampere, Hopper, ...) as the gencode should match the architecture, not the CUDA toolkit version:
from the Makefile:
# CUDA architecture / code version
# Fermi (not supported): -gencode=arch=compute_10,code=sm_10
# Tesla (Tesla C2050, GeForce GTX 480): -gencode=arch=compute_20,code=sm_20
# Tesla (cuda4, K10, Geforce GTX 650, GT 650m): -gencode=arch=compute_30,code=sm_30
# Kepler (cuda5, K20) : -gencode=arch=compute_35,code=sm_35
# Kepler (cuda6.5, K80): -gencode=arch=compute_37,code=sm_37
# Maxwell (cuda6.5+/cuda7, Quadro K2200): -gencode=arch=compute_50,code=sm_50
# Pascal (cuda8,P100, GeForce GTX 1080, Titan): -gencode=arch=compute_60,code=sm_60
# Volta (cuda9, V100): -gencode=arch=compute_70,code=sm_70
# Turing (cuda10, T4, GeForce RTX 2080): -gencode=arch=compute_75,code=sm_75
# Ampere (cuda11, A100, GeForce RTX 3080): -gencode=arch=compute_80,code=sm_80
# Hopper (cuda12, H100): -gencode=arch=compute_90,code=sm_90
for example, if you have an Ampere A100 card, configure the code with the flag --with-cuda=cuda11
even if you have a toolkit version 12.2.
I have the same problem:
Error in setConst_hprime_xx: invalid device symbol
The problem is maybe -arch sm_13 instead of -arch sm_11 in the Makefile, please doublecheck
I am trying to configure with a Quadro P4000, which should be Pascal architecture. I used the following code:
$ ./configure FC=gfortran CC=gcc --with-mpi MPIFC=mpif90 USE_BUNDLED_SCOTCH=1 --with-cuda=cuda8 CUDA_LIB=/usr/local/cuda/lib64
$ make
follow-up responses are here: SPECFEM/specfem2d#1199 (comment)