Skip to content

Commit d684de6

Browse files
authored
Merge pull request #9856 from fwyzard/IB/CMSSW_15_1_X/master_cuda_12.9.0_for_ARM
Update CUDA to version 12.9.0 and cuDNN to version 9.9.0
2 parents 492aa0a + 8801d64 commit d684de6

File tree

7 files changed

+33
-26
lines changed

7 files changed

+33
-26
lines changed

cuda.spec

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
### RPM external cuda 12.8.1
1+
### RPM external cuda 12.9.0
22
## INITENV +PATH LD_LIBRARY_PATH %i/lib64
33

44
%define runpath_opts -m compute-sanitizer -m drivers -m nvvm
5-
%define driversversion 570.124.06
5+
%define driversversion 575.51.03
66

77
%ifarch x86_64
88
Source0: https://developer.download.nvidia.com/compute/cuda/%{realversion}/local_installers/%{n}_%{realversion}_%{driversversion}_linux.run
@@ -28,18 +28,13 @@ cd %_builddir/
2828
# create target directory structure
2929
mkdir -p %{i}/include
3030
mkdir -p %{i}/lib64
31-
mkdir -p %{i}/lib64/stubs
3231

3332
# package only the runtime static libraries
3433
mv %_builddir/build/lib64/libcudadevrt.a %{i}/lib64/
3534
mv %_builddir/build/lib64/libcudart_static.a %{i}/lib64/
3635
rm -f %_builddir/build/lib64/lib*.a
3736

38-
# package only the CUDA driver and NVML library stubs
39-
mv %_builddir/build/lib64/stubs/libcuda.so %{i}/lib64/stubs/libcuda.so
40-
ln -sf libcuda.so %{i}/lib64/stubs/libcuda.so.1
41-
mv %_builddir/build/lib64/stubs/libnvidia-ml.so %{i}/lib64/stubs/libnvidia-ml.so
42-
ln -sf libnvidia-ml.so %{i}/lib64/stubs/libnvidia-ml.so.1
37+
# the stub libraries will be replaced by the redistributable driver libraries
4338
rm -rf %_builddir/build/lib64/stubs/
4439

4540
# do not package the OpenCL libraries
@@ -85,23 +80,32 @@ ln -s ../compute-sanitizer/compute-sanitizer %{i}/bin/compute-sanitizer
8580
# package the NVVM compiler (cicc), library (libnvvm.so), device library (libdevice.10.bc) and samples
8681
mv %_builddir/build/nvvm %{i}/
8782

88-
# extract and repackage the NVIDIA libraries needed by the CUDA runtime
83+
# extract and repackage the redistributable NVIDIA driver libraries needed by the CUDA runtime
8984
/bin/sh %_builddir/pkg/builds/NVIDIA-Linux-%{_arch}-%{driversversion}.run --silent --extract-only --tmpdir %_builddir/tmp --target %_builddir/build/drivers
9085

9186
mkdir -p %{i}/drivers
92-
mv %_builddir/build/drivers/libcuda.so.%{driversversion} %{i}/drivers/
93-
ln -sf libcuda.so.%{driversversion} %{i}/drivers/libcuda.so.1
94-
ln -sf libcuda.so.1 %{i}/drivers/libcuda.so
95-
mv %_builddir/build/drivers/libcudadebugger.so.%{driversversion} %{i}/drivers/
96-
ln -sf libcudadebugger.so.%{driversversion} %{i}/drivers/libcudadebugger.so.1
97-
ln -sf libcudadebugger.so.1 %{i}/drivers/libcudadebugger.so
98-
mv %_builddir/build/drivers/libnvidia-ptxjitcompiler.so.%{driversversion} %{i}/drivers/
99-
ln -sf libnvidia-ptxjitcompiler.so.%{driversversion} %{i}/drivers/libnvidia-ptxjitcompiler.so.1
100-
ln -sf libnvidia-ptxjitcompiler.so.1 %{i}/drivers/libnvidia-ptxjitcompiler.so
101-
mv %_builddir/build/drivers/libnvidia-nvvm.so.%{driversversion} %{i}/drivers/
102-
ln -sf libnvidia-nvvm.so.%{driversversion} %{i}/drivers/libnvidia-nvvm.so.4
103-
ln -sf libnvidia-nvvm.so.4 %{i}/drivers/libnvidia-nvvm.so
104-
mv %_builddir/build/drivers/nvidia-smi %{i}/drivers/
87+
cp -p %_builddir/build/drivers/libcuda.so.%{driversversion} %{i}/drivers/
88+
ln -sf libcuda.so.%{driversversion} %{i}/drivers/libcuda.so.1
89+
ln -sf libcuda.so.1 %{i}/drivers/libcuda.so
90+
cp -p %_builddir/build/drivers/libcudadebugger.so.%{driversversion} %{i}/drivers/
91+
ln -sf libcudadebugger.so.%{driversversion} %{i}/drivers/libcudadebugger.so.1
92+
ln -sf libcudadebugger.so.1 %{i}/drivers/libcudadebugger.so
93+
cp -p %_builddir/build/drivers/libnvidia-ptxjitcompiler.so.%{driversversion} %{i}/drivers/
94+
ln -sf libnvidia-ptxjitcompiler.so.%{driversversion} %{i}/drivers/libnvidia-ptxjitcompiler.so.1
95+
ln -sf libnvidia-ptxjitcompiler.so.1 %{i}/drivers/libnvidia-ptxjitcompiler.so
96+
cp -p %_builddir/build/drivers/libnvidia-nvvm.so.%{driversversion} %{i}/drivers/
97+
ln -sf libnvidia-nvvm.so.%{driversversion} %{i}/drivers/libnvidia-nvvm.so.4
98+
ln -sf libnvidia-nvvm.so.4 %{i}/drivers/libnvidia-nvvm.so
99+
cp -p %_builddir/build/drivers/nvidia-smi %{i}/drivers/
100+
101+
# reuse the redistributable CUDA driver library and NVML library in place of the CUDA stub libraries
102+
mkdir -p %{i}/lib64/stubs
103+
cp -p %_builddir/build/drivers/libcuda.so.%{driversversion} %{i}/lib64/stubs/
104+
ln -sf libcuda.so.%{driversversion} %{i}/lib64/stubs/libcuda.so.1
105+
ln -sf libcuda.so.1 %{i}/lib64/stubs/libcuda.so
106+
cp -p %_builddir/build/drivers/libnvidia-ml.so.%{driversversion} %{i}/lib64/stubs/
107+
ln -sf libnvidia-ml.so.%{driversversion} %{i}/lib64/stubs/libnvidia-ml.so.1
108+
ln -sf libnvidia-ml.so.1 %{i}/lib64/stubs/libnvidia-ml.so
105109

106110
%post
107111
# let nvcc find its components when invoked from the command line

cudnn.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### RPM external cudnn 9.6.0.74
1+
### RPM external cudnn 9.9.0.52
22
## INITENV +PATH LD_LIBRARY_PATH %i/lib64
33

44
%define cudaver 12

pytorch-cluster.spec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ cmake ../%{n}-%{realversion} \
4242
%if 0%{!?without_cuda:1}
4343
-DWITH_CUDA=${USE_CUDA} \
4444
-DTORCH_CUDA_ARCH_LIST="%{cuda_arch_float}" \
45+
-Dnvtx3_dir=${CUDA_ROOT}/include \
4546
%endif
4647
-DBUILD_SHARED_LIBS=ON
4748

pytorch-scatter.spec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ cmake ../%{n}-%{realversion} \
4343
%if 0%{!?without_cuda:1}
4444
-DWITH_CUDA=${USE_CUDA} \
4545
-DTORCH_CUDA_ARCH_LIST="%{cuda_arch_float}" \
46+
-Dnvtx3_dir=${CUDA_ROOT}/include \
4647
%endif
4748
-DBUILD_SHARED_LIBS=ON
4849

pytorch-sparse.spec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ cmake ../%{n}-%{realversion} \
4343
%if 0%{!?without_cuda:1}
4444
-DWITH_CUDA=${USE_CUDA} \
4545
-DTORCH_CUDA_ARCH_LIST="%{cuda_arch_float}" \
46+
-Dnvtx3_dir=${CUDA_ROOT}/include \
4647
%endif
4748
-DBUILD_SHARED_LIBS=ON
4849

pytorch.spec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ cmake ../%{n}-%{realversion} \
4545
%if 0%{!?without_cuda:1}
4646
-DUSE_CUDA=${USE_CUDA} \
4747
-DTORCH_CUDA_ARCH_LIST="%{cuda_arch_float}" \
48+
-Dnvtx3_dir=${CUDA_ROOT}/include \
4849
-DUSE_CUDNN=${USE_CUDA} \
4950
-DCUDNN_ROOT=${CUDNN_ROOT} \
5051
%else

scram-tools.file/tools/cuda/cuda.xml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
<tool name="cuda" version="@TOOL_VERSION@" revision="3">
1+
<tool name="cuda" version="@TOOL_VERSION@" revision="4">
22
<info url="https://docs.nvidia.com/cuda/index.html"/>
3+
<use name="cuda-interface"/>
34
<use name="cuda-stubs"/>
45
<lib name="cudart"/>
56
<lib name="cudadevrt"/>
6-
<lib name="nvToolsExt"/>
7-
<use name="cuda-interface"/>
87
<client>
98
<environment name="CUDA_BASE" default="@TOOL_ROOT@"/>
109
<environment name="NVCC" default="$CUDA_BASE/bin/nvcc"/>

0 commit comments

Comments
 (0)