Hi,
I am getting a number of undefined reference messages when trying to compile with the new versions of the PGI compilers. The compiler is pgi/20.11 and I am compiling on XSEDE’s Bridges2 and getting the following messages (I checked in a few other clusters with the most recent NVIDIA SDK package and get the same messages):
/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/hi_cumod.cuf:328: undefined reference to `cusparseCreateSolveAnalysisInfo'
./libsmdlt_bs.a(conv_cumod.o): In function `conv_cumod_init_conv_d_':
/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/conv_cumod.cuf:127: undefined reference to `cusparseDcsr2csc'
./libsmdlt_bs.a(conv_cumod.o): In function `conv_cumod_rbtoq_':
/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/conv_cumod.cuf:225: undefined reference to `cusparsedcsrmv_sethpm_'
./libsmdlt_bs.a(sprforce_cumod.o): In function `sprforce_cumod_update_force_':
/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/sprforce_cumod.cuf:114: undefined reference to `cusparsedcsrmv_sethpm_'
./libsmdlt_bs.a(diffcalc_cumod.o): In function `diffcalc_cumod_pme_d_calcdf_recip':
/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/diffcalc_cumod.cuf:1260: undefined reference to `cusparsedcsrmv_sethpm_'
/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/diffcalc_cumod.cuf:1265: undefined reference to `cusparsedcsrmv_sethpm_'
/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/diffcalc_cumod.cuf:1270: undefined reference to `cusparsedcsrmv_sethpm_'
./libsmdlt_bs.a(diffcalc_cumod.o):/jet/home/asaadat/github/BDpack/src/semidilute_bs/cuda/diffcalc_cumod.cuf:1382: more undefined references to `cusparsedcsrmv_sethpm_' follow
./libsmdlt_bs.a(diffcalc_mod.o): In function `diffcalc_mod_calcdiff_recip_dev_':
/jet/home/asaadat/github/BDpack/src/semidilute_bs/diffcalc_mod.f90:1381: undefined reference to `cusparseDcsr2csc'
./libsmdlt_bs.a(diffcalc_mod.o): In function `diffcalc_mod_pme_dev_calcdf_recip':
/jet/home/asaadat/github/BDpack/src/semidilute_bs/diffcalc_mod.f90:1906: undefined reference to `cusparsedcsrmv_sethpm_'
/jet/home/asaadat/github/BDpack/src/semidilute_bs/diffcalc_mod.f90:1910: undefined reference to `cusparsedcsrmv_sethpm_'
/jet/home/asaadat/github/BDpack/src/semidilute_bs/diffcalc_mod.f90:1914: undefined reference to `cusparsedcsrmv_sethpm_'
/jet/home/asaadat/github/BDpack/src/semidilute_bs/diffcalc_mod.f90:2376: undefined reference to `cusparsedcsrmv_sethpm_'
/jet/home/asaadat/github/BDpack/src/semidilute_bs/diffcalc_mod.f90:2380: undefined reference to `cusparsedcsrmv_sethpm_'
./libsmdlt_bs.a(diffcalc_mod.o):/jet/home/asaadat/github/BDpack/src/semidilute_bs/diffcalc_mod.f90:2384: more undefined references to `cusparsedcsrmv_sethpm_' follow
pgacclnk: child process exit status 1: /usr/bin/ld
My code has been working well with previous versions of 2019 versions of PGI, and @MatColgrove previously helped me with a few questions in regards to my package development (like here).
The package is on GitHub and the makefile for different clusters and Bridges2 is available.
I would very much appreciate it if you have any thoughts on where I might need to make any changes. I navigated through the cusparse.mod
and can see that the functions like cusparseDcsr2csc
still exist.
Thank you,
Amir