[AMBER] Compiling Amber18 on Scientific Linux 7.7 (CentOS 7) with gcc-7.5.0 and cuda-10.0 / cuda-11.4

From: Gerald Keller <gerald.keller.uni-wuerzburg.de>
Date: Tue, 26 Apr 2022 07:18:20 +0000

Hi there,

due to a GPU update from RTX 2080 TI to RTX 3080 TI, our compiled version of Amber18's pmemd.cuda isn't working any more.
I am on a Scientific Linux 7.7 (CentOS 7) machine with a installed nvidia driver version 510.54 including CUDA version 11.6.

I found the following, that has the same error message that occurs when running pmemd.cuda with RTX 3080 TI:
http://archive.ambermd.org/202012/0366.html

Unfortunately this is a solution for compiling Amber20 with CUDA 11.1, but gave me the hint to try to recompile Amber18.
For this I used all available updates for Amber18 and AmberTools19, the gcc-7.5.0 compiler and the cuda-toolkit 10.0.

'./configure -cuda gnu' passes just fine, but 'make install' fails after executing:

'/usr/local/cuda-10.0/bin/nvcc -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_60,code=sm_70, -gencode arch=compute_61,code=sm_70 -Wno-deprecated-declarations -use_fast_math -O3 -ccbin /usr/local/gcc-7.5.0/bin/g++ -o cuda_pb.o -c cuda_pb.cu'

In the link above there is mentioned, that the RTX 3080 TI would require sm_86. So I edited the config.h file, where I changed the path of nvcc from cuda-10.0 to cuda-11.4, added compute_86 and sm_86 and removed compute_30 and sm_30. So my entry for NVCC looks like this now - Just to point this out, from here I am using the cuda-toolkit 11.4!:

NVCC=/usr/local/cuda-11.4/bin/nvcc -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_60,code=sm_70, -gencode arch=compute_61,code=sm_70 -gencode arch=compute_86,code=sm_86 -Wno-deprecated-declarations -use_fast_math -O3

The compiliation fails now with the errors:

cusparse_LinearSolvers.cu(89): error: identifier "cusparseScsrmv" is undefined
cusparse_LinearSolvers.cu(199): error: identifier "cusparseScsrmv" is undefined

After the execution of:

/usr/local/cuda-11.4/bin/nvcc -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_60,code=sm_70, -gencode arch=compute_61,code=sm_70 -gencode arch=compute_86,code=sm_86 -Wno-deprecated-declarations -use_fast_math -O3 -ccbin /usr/local/gcc-7.5.0/bin/g++ -o cuda_pb.o -c cuda_pb.cu
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/local/cuda-11.4/bin/nvcc -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_60,code=sm_70, -gencode arch=compute_61,code=sm_70 -gencode arch=compute_86,code=sm_86 -Wno-deprecated-declarations -use_fast_math -O3 -ccbin /usr/local/gcc-7.5.0/bin/g++ -o kLinearSolvers.o -c kLinearSolvers.cu
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/local/cuda-11.4/bin/nvcc -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_60,code=sm_70, -gencode arch=compute_61,code=sm_70 -gencode arch=compute_86,code=sm_86 -Wno-deprecated-declarations -use_fast_math -O3 -ccbin /usr/local/gcc-7.5.0/bin/g++ -I../cusplibrary-cuda9 -o cuda_LinearSolvers.o -c cuda_LinearSolvers.cu
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/local/cuda-11.4/bin/nvcc -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_60,code=sm_70, -gencode arch=compute_61,code=sm_70 -gencode arch=compute_86,code=sm_86 -Wno-deprecated-declarations -use_fast_math -O3 -ccbin /usr/local/gcc-7.5.0/bin/g++ -o cusparse_LinearSolvers.o -c cusparse_LinearSolvers.cu
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

Now, my question is, if it is possible to get Amber18 compiled for use with RTX 3080 TI at all? And what do I have to modify to get everything working in the end?

Thanks for any assistance in advance regarding to this topic.

Best regards,
Gerald



_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Apr 26 2022 - 00:30:03 PDT
Custom Search