diff --git a/README.md b/README.md index c1bc689..82fcfac 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # cuda +NVIDIA GPU programming toolkit. + diff --git a/accinj64.pc b/accinj64.pc new file mode 100644 index 0000000..fc881a5 --- /dev/null +++ b/accinj64.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: accinj64 +Description: OpenACC 64-bit Injection Library +Version: 11.0 +Libs: -L${libdir} -laccinj64 +Cflags: -I${includedir} diff --git a/cublas.pc b/cublas.pc new file mode 100644 index 0000000..fece637 --- /dev/null +++ b/cublas.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cublas +Description: CUDA BLAS Library +Version: 11.0 +Libs: -L${libdir} -lcublas +Cflags: -I${includedir} diff --git a/cuda.pc b/cuda.pc new file mode 100644 index 0000000..9a360f8 --- /dev/null +++ b/cuda.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cuda +Description: CUDA Driver Library +Version: 11.0 +Libs: -L${libdir} -lcuda +Cflags: -I${includedir} diff --git a/cuda.sh b/cuda.sh new file mode 100644 index 0000000..26b4e30 --- /dev/null +++ b/cuda.sh @@ -0,0 +1,7 @@ +export CUDA_PATH=/usr/lib64/cuda +export PATH=/usr/lib64/cuda/bin:$PATH + +# This line used to not be required but it somehow is with cuda 12.3. +# We reported this as a bug to NVIDIA. For now, this seems like a viable +# workaround. +export NVCC_PREPEND_FLAGS='-ccbin /usr/lib64/cuda/bin' diff --git a/cuda.spec b/cuda.spec new file mode 100644 index 0000000..2204228 --- /dev/null +++ b/cuda.spec @@ -0,0 +1,146 @@ +%define driver_ver 545.23.08 +Name: cuda +Version: 12.3.2 +Release: 1mamba +Summary: NVIDIA GPU programming toolkit +Group: Development/Tools +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://developer.nvidia.com/cuda-zone +Source: https://developer.download.nvidia.com/compute/cuda/%{version}/local_installers/cuda_%{version}_%{driver_ver}_linux.run +Source1: cuda.sh +Source10: accinj64.pc +Source11: cudart.pc +Source12: cuinj64.pc +Source13: cusparse.pc +Source14: nppial.pc +Source15: nppidei.pc +Source16: nppim.pc +Source17: nppitc.pc +Source18: nvgraph.pc +Source19: nvrtc.pc +Source20: cublas.pc +Source21: cufft.pc +Source22: curand.pc +Source23: nppc.pc +Source24: nppicc.pc +Source25: nppif.pc +Source26: nppist.pc +Source27: npps.pc +Source28: nvidia-ml.pc +Source29: cuda.pc +Source30: cufftw.pc +Source31: cusolver.pc +Source32: nppi.pc +Source33: nppicom.pc +Source34: nppig.pc +Source35: nppisu.pc +Source36: nvToolsExt.pc +Source37: nvjpeg.pc +License: no OSI Approved +## AUTOBUILDREQ-BEGIN +## AUTOBUILDREQ-END +ExclusiveArch: x86_64 + +%description +NVIDIA GPU programming toolkit. + +%debug_package + +%global __provides_exclude_from ^%{_libdir}/cuda/.*$ +%global __requires_exclude_from ^%{_libdir}/cuda/.*$ + +%prep +%setup -q -c %{name}-%{version} -T +#-D +#:<< _EOF +# unpack .run file +sh %{SOURCE0} --target "${PWD}" --noexec +rm -r builds/{NVIDIA*.run,bin} + +%build + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +install -d -m0755 %{buildroot}%{_libdir}/cuda + +cd builds + +#mkdir -p %{buildroot}%{_libdir}/cuda/extras +#mv integration nsight_compute nsight_systems EULA.txt %{buildroot}%{_libdir}/cuda +#mv cuda_demo_suite/extras/demo_suite %{buildroot}%{_libdir}/cuda/extras/demo_suite +#mv cuda_sanitizer_api/compute-sanitizer %{buildroot}%{_libdir}/cuda/extras/compute-sanitizer +#rmdir cuda_sanitizer_api + +for dir in *; do + [ ! -d "$dir" ] && continue + cp -r $dir/* %{buildroot}%{_libdir}/cuda/ +done + +# Delete some unnecessary or broken files +rm -r %{buildroot}%{_libdir}/cuda/bin/cuda-uninstaller +rm %{buildroot}%{_libdir}/cuda/include/include +rm %{buildroot}%{_libdir}/cuda/lib64/lib64 +rm -r %{buildroot}%{_libdir}/cuda/{bin/nvvp,bin/computeprof,libnvvp,nsight*} + +# Install profile and ld configuration files +install -D -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/cuda.sh +install -d -m0755 %{buildroot}%{_sysconfdir}/ld.so.conf.d +cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/cuda.conf << _END +%{_libdir}/cuda/lib64 +%{_libdir}/cuda/nvvm/lib64 +%{_libdir}/cuda/extras/CUPTI/lib64 +_END + +ln -s lib64 %{buildroot}%{_libdir}/cuda/lib + +install -D -m0644 %{SOURCE10} %{buildroot}%{_libdir}/pkgconfig/accinj64.pc +install -D -m0644 %{SOURCE11} %{buildroot}%{_libdir}/pkgconfig/cudart.pc +install -D -m0644 %{SOURCE12} %{buildroot}%{_libdir}/pkgconfig/cuinj64.pc +install -D -m0644 %{SOURCE13} %{buildroot}%{_libdir}/pkgconfig/cusparse.pc +install -D -m0644 %{SOURCE14} %{buildroot}%{_libdir}/pkgconfig/nppial.pc +install -D -m0644 %{SOURCE15} %{buildroot}%{_libdir}/pkgconfig/nppidei.pc +install -D -m0644 %{SOURCE16} %{buildroot}%{_libdir}/pkgconfig/nppim.pc +install -D -m0644 %{SOURCE17} %{buildroot}%{_libdir}/pkgconfig/nppitc.pc +install -D -m0644 %{SOURCE18} %{buildroot}%{_libdir}/pkgconfig/nvgraph.pc +install -D -m0644 %{SOURCE19} %{buildroot}%{_libdir}/pkgconfig/nvrtc.pc +install -D -m0644 %{SOURCE20} %{buildroot}%{_libdir}/pkgconfig/cublas.pc +install -D -m0644 %{SOURCE21} %{buildroot}%{_libdir}/pkgconfig/cufft.pc +install -D -m0644 %{SOURCE22} %{buildroot}%{_libdir}/pkgconfig/curand.pc +install -D -m0644 %{SOURCE23} %{buildroot}%{_libdir}/pkgconfig/nppc.pc +install -D -m0644 %{SOURCE24} %{buildroot}%{_libdir}/pkgconfig/nppicc.pc +install -D -m0644 %{SOURCE25} %{buildroot}%{_libdir}/pkgconfig/nppif.pc +install -D -m0644 %{SOURCE26} %{buildroot}%{_libdir}/pkgconfig/nppist.pc +install -D -m0644 %{SOURCE27} %{buildroot}%{_libdir}/pkgconfig/npps.pc +install -D -m0644 %{SOURCE28} %{buildroot}%{_libdir}/pkgconfig/nvidia-ml.pc +install -D -m0644 %{SOURCE29} %{buildroot}%{_libdir}/pkgconfig/cuda.pc +install -D -m0644 %{SOURCE30} %{buildroot}%{_libdir}/pkgconfig/cufftw.pc +install -D -m0644 %{SOURCE31} %{buildroot}%{_libdir}/pkgconfig/cusolver.pc +install -D -m0644 %{SOURCE32} %{buildroot}%{_libdir}/pkgconfig/nppi.pc +install -D -m0644 %{SOURCE33} %{buildroot}%{_libdir}/pkgconfig/nppicom.pc +install -D -m0644 %{SOURCE34} %{buildroot}%{_libdir}/pkgconfig/nppig.pc +install -D -m0644 %{SOURCE35} %{buildroot}%{_libdir}/pkgconfig/nppisu.pc +install -D -m0644 %{SOURCE36} %{buildroot}%{_libdir}/pkgconfig/nvToolsExt.pc +install -D -m0644 %{SOURCE37} %{buildroot}%{_libdir}/pkgconfig/nvjpeg.pc + +# Fix Makefile paths to CUDA +for f in $(find %{buildroot}%{_libdir}/cuda -name Makefile); do + sed -i "s|/usr/local/cuda|%{_libdir}/cuda|g" "$f" +done + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_sysconfdir}/ld.so.conf.d/cuda.conf +%{_sysconfdir}/profile.d/cuda.sh +%dir %{_libdir}/cuda +%{_libdir}/cuda/* +%{_libdir}/pkgconfig/*.pc +%doc builds/EULA.txt + +%changelog +* Thu Feb 29 2024 Silvan Calarco 12.3.2-1mamba +- package created using the webbuild interface diff --git a/cudart.pc b/cudart.pc new file mode 100644 index 0000000..8b6af24 --- /dev/null +++ b/cudart.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cudart +Description: CUDA Runtime Library +Version: 11.0 +Libs: -L${libdir} -lcudart +Cflags: -I${includedir} diff --git a/cufft.pc b/cufft.pc new file mode 100644 index 0000000..10acf87 --- /dev/null +++ b/cufft.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cufft +Description: CUDA Fast Fourier Transform +Version: 11.0 +Libs: -L${libdir} -lcufft +Cflags: -I${includedir} diff --git a/cufftw.pc b/cufftw.pc new file mode 100644 index 0000000..52e6995 --- /dev/null +++ b/cufftw.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cufftw +Description: CUDA Fast Fourier Transform Wide +Version: 11.0 +Libs: -L${libdir} -lcufftw +Cflags: -I${includedir} diff --git a/cuinj64.pc b/cuinj64.pc new file mode 100644 index 0000000..8f80cb6 --- /dev/null +++ b/cuinj64.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cuinj64 +Description: CUDA 64-bit Injection Library +Version: 11.0 +Libs: -L${libdir} -lcuinj64 +Cflags: -I${includedir} diff --git a/curand.pc b/curand.pc new file mode 100644 index 0000000..f165894 --- /dev/null +++ b/curand.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: curand +Description: CUDA Random Number Generation Library +Version: 11.0 +Libs: -L${libdir} -lcurand +Cflags: -I${includedir} diff --git a/cusolver.pc b/cusolver.pc new file mode 100644 index 0000000..60837c0 --- /dev/null +++ b/cusolver.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cusolver +Description: A LAPACK-like library on dense and sparse linear algebra +Version: 11.0 +Libs: -L${libdir} -lcusolver +Cflags: -I${includedir} diff --git a/cusparse.pc b/cusparse.pc new file mode 100644 index 0000000..f70e8dc --- /dev/null +++ b/cusparse.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: cusparse +Description: CUDA Sparse Matrix Library +Version: 11.0 +Libs: -L${libdir} -lcusparse +Cflags: -I${includedir} diff --git a/nppc.pc b/nppc.pc new file mode 100644 index 0000000..37dda35 --- /dev/null +++ b/nppc.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppc +Description: NVIDIA Performance Primitives - Core +Version: 11.0 +Libs: -L${libdir} -lnppc +Cflags: -I${includedir} diff --git a/nppi.pc b/nppi.pc new file mode 100644 index 0000000..dfe3968 --- /dev/null +++ b/nppi.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppi +Description: NVIDIA Performance Primitives - Image Processing +Version: 11.0 +Libs: -L${libdir} -lnppi +Cflags: -I${includedir} diff --git a/nppial.pc b/nppial.pc new file mode 100644 index 0000000..061fd17 --- /dev/null +++ b/nppial.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppial +Description: NVIDIA Performance Primitives - Image Processing - Arithmetic and Logic +Version: 11.0 +Libs: -L${libdir} -lnppial +Cflags: -I${includedir} diff --git a/nppicc.pc b/nppicc.pc new file mode 100644 index 0000000..06f8942 --- /dev/null +++ b/nppicc.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppicc +Description: NVIDIA Performance Primitives - Image Processing - Color Conversion +Version: 11.0 +Libs: -L${libdir} -lnppicc +Cflags: -I${includedir} diff --git a/nppicom.pc b/nppicom.pc new file mode 100644 index 0000000..0d4a5d2 --- /dev/null +++ b/nppicom.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppicom +Description: NVIDIA Performance Primitives - Image Processing - Compression +Version: 11.0 +Libs: -L${libdir} -lnppicom +Cflags: -I${includedir} diff --git a/nppidei.pc b/nppidei.pc new file mode 100644 index 0000000..5c98138 --- /dev/null +++ b/nppidei.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppidei +Description: NVIDIA Performance Primitives - Image Processing - DEI +Version: 11.0 +Libs: -L${libdir} -lnppidei +Cflags: -I${includedir} diff --git a/nppif.pc b/nppif.pc new file mode 100644 index 0000000..e213e80 --- /dev/null +++ b/nppif.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppif +Description: NVIDIA Performance Primitives - Image Processing - Filters +Version: 11.0 +Libs: -L${libdir} -lnppif +Cflags: -I${includedir} diff --git a/nppig.pc b/nppig.pc new file mode 100644 index 0000000..b361c4c --- /dev/null +++ b/nppig.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppig +Description: NVIDIA Performance Primitives - Image Processing - Geometry +Version: 11.0 +Libs: -L${libdir} -lnppig +Cflags: -I${includedir} diff --git a/nppim.pc b/nppim.pc new file mode 100644 index 0000000..060ec9b --- /dev/null +++ b/nppim.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppim +Description: NVIDIA Performance Primitives - Image Processing - Morphological +Version: 11.0 +Libs: -L${libdir} -lnppim +Cflags: -I${includedir} diff --git a/nppist.pc b/nppist.pc new file mode 100644 index 0000000..95a90a7 --- /dev/null +++ b/nppist.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppist +Description: NVIDIA Performance Primitives - Image Processing - Statistic and Linear +Version: 11.0 +Libs: -L${libdir} -lnppist +Cflags: -I${includedir} diff --git a/nppisu.pc b/nppisu.pc new file mode 100644 index 0000000..1020a89 --- /dev/null +++ b/nppisu.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppisu +Description: NVIDIA Performance Primitives - Image Processing - Support and Data Exchange +Version: 11.0 +Libs: -L${libdir} -lnppisu +Cflags: -I${includedir} diff --git a/nppitc.pc b/nppitc.pc new file mode 100644 index 0000000..629d04d --- /dev/null +++ b/nppitc.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nppitc +Description: NVIDIA Performance Primitives - Image Processing - Threshold and Compare +Version: 11.0 +Libs: -L${libdir} -lnppitc +Cflags: -I${includedir} diff --git a/npps.pc b/npps.pc new file mode 100644 index 0000000..7da0b24 --- /dev/null +++ b/npps.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: npps +Description: NVIDIA Performance Primitives - Signal Processing +Version: 11.0 +Libs: -L${libdir} -lnpps +Cflags: -I${includedir} diff --git a/nvToolsExt.pc b/nvToolsExt.pc new file mode 100644 index 0000000..c455799 --- /dev/null +++ b/nvToolsExt.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nvToolsExt +Description: NVIDIA Tools Extension +Version: 11.0 +Libs: -L${libdir} -lnvToolsExt +Cflags: -I${includedir} diff --git a/nvgraph.pc b/nvgraph.pc new file mode 100644 index 0000000..bbc3c11 --- /dev/null +++ b/nvgraph.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nvgraph +Description: NVIDIA Accelerated Graph Analytics +Version: 11.0 +Libs: -L${libdir} -lnvgraph +Cflags: -I${includedir} diff --git a/nvidia-ml.pc b/nvidia-ml.pc new file mode 100644 index 0000000..16e1ebd --- /dev/null +++ b/nvidia-ml.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nvidia-ml +Description: NVML +Version: 11.0 +Libs: -L${libdir}/stubs -lnvidia-ml +Cflags: -I${includedir} diff --git a/nvjpeg.pc b/nvjpeg.pc new file mode 100644 index 0000000..8b45ef2 --- /dev/null +++ b/nvjpeg.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nvjpeg +Description: NVIDIA JPEG Library +Version: 11.0 +Libs: -L${libdir} -lnvjpeg +Cflags: -I${includedir} diff --git a/nvrtc.pc b/nvrtc.pc new file mode 100644 index 0000000..fbebd87 --- /dev/null +++ b/nvrtc.pc @@ -0,0 +1,9 @@ +cudaroot=/usr/lib64/cuda +libdir=${cudaroot}/targets/x86_64-linux/lib +includedir=${cudaroot}/targets/x86_64-linux/include + +Name: nvrtc +Description: A runtime compilation library for CUDA C++ +Version: 11.0 +Libs: -L${libdir} -lnvrtc +Cflags: -I${includedir}