From b63a278c53177a549395dc18c658fbf7f0d8a00b Mon Sep 17 00:00:00 2001 From: Raboneko <119771935+raboneko@users.noreply.github.com> Date: Mon, 6 Jan 2025 07:31:53 -0800 Subject: [PATCH] Add: CUDA (#2872) (#2880) * Add: CUDA * Fix: Arches * Fix: Arches again * Fix: Arches AGAIN again * Fix CUDA anda.hcl Signed-off-by: Gil * Update anda.hcl Signed-off-by: Gil * Fix: Anda.hcl files * Fix: Anda.hcl Signed-off-by: Gil * Fix: anda.hcl Signed-off-by: Gil * Update anda.hcl Signed-off-by: Gil * Cleanup/fixes: Specs and Anda files * Cleanup/fixes: Specs and Anda files --------- Signed-off-by: Gil (cherry picked from commit a7c3b8f139cc5f074b8d5915b5fb58c58206277e) Co-authored-by: Gil --- anda/lib/nvidia/compat-nvidia-repo/anda.hcl | 6 + .../compat-nvidia-repo.spec | 34 ++++ anda/lib/nvidia/cuda-cccl/anda.hcl | 5 + anda/lib/nvidia/cuda-cccl/cuda-cccl.spec | 58 +++++++ anda/lib/nvidia/cuda-cudart/anda.hcl | 5 + anda/lib/nvidia/cuda-cudart/cuda-cudart.spec | 87 ++++++++++ anda/lib/nvidia/cuda-cudart/cudart.pc | 8 + anda/lib/nvidia/cuda-cudnn/anda.hcl | 5 + anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec | 76 +++++++++ anda/lib/nvidia/cuda-cuobjdump/anda.hcl | 5 + .../nvidia/cuda-cuobjdump/cuda-cuobjdump.spec | 48 ++++++ anda/lib/nvidia/cuda-cupti/anda.hcl | 5 + anda/lib/nvidia/cuda-cupti/cuda-cupti.spec | 83 ++++++++++ anda/lib/nvidia/cuda-cuxxfilt/anda.hcl | 5 + .../nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec | 53 ++++++ anda/lib/nvidia/cuda-gcc/anda.hcl | 6 + anda/lib/nvidia/cuda-gcc/cuda-gcc.spec | 47 ++++++ anda/lib/nvidia/cuda-gdb/anda.hcl | 5 + anda/lib/nvidia/cuda-gdb/cuda-gdb.spec | 61 +++++++ anda/lib/nvidia/cuda-nvdisasm/anda.hcl | 5 + .../nvidia/cuda-nvdisasm/cuda-nvdisasm.spec | 49 ++++++ anda/lib/nvidia/cuda-nvml/anda.hcl | 5 + anda/lib/nvidia/cuda-nvml/cuda-nvml.spec | 79 +++++++++ anda/lib/nvidia/cuda-nvml/nvidia-ml.pc | 8 + anda/lib/nvidia/cuda-nvprof/accinj64.pc | 8 + anda/lib/nvidia/cuda-nvprof/anda.hcl | 5 + anda/lib/nvidia/cuda-nvprof/cuda-nvprof.spec | 77 +++++++++ anda/lib/nvidia/cuda-nvprof/cuinj64.pc | 8 + anda/lib/nvidia/cuda-nvprune/anda.hcl | 5 + .../lib/nvidia/cuda-nvprune/cuda-nvprune.spec | 45 ++++++ anda/lib/nvidia/cuda-nvrtc/anda.hcl | 5 + anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec | 95 +++++++++++ anda/lib/nvidia/cuda-nvrtc/nvrtc.pc | 8 + anda/lib/nvidia/cuda-nvtx/anda.hcl | 5 + anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec | 98 +++++++++++ anda/lib/nvidia/cuda-nvtx/nvToolsExt.pc | 8 + anda/lib/nvidia/cuda-profiler/anda.hcl | 6 + .../nvidia/cuda-profiler/cuda-profiler.spec | 40 +++++ anda/lib/nvidia/cuda-sanitizer/anda.hcl | 6 + .../nvidia/cuda-sanitizer/cuda-sanitizer.spec | 85 ++++++++++ anda/lib/nvidia/cuda/anda.hcl | 5 + anda/lib/nvidia/cuda/cuda.csh | 10 ++ anda/lib/nvidia/cuda/cuda.pc | 8 + anda/lib/nvidia/cuda/cuda.sh | 10 ++ anda/lib/nvidia/cuda/cuda.spec | 152 ++++++++++++++++++ anda/lib/nvidia/libcublas/anda.hcl | 5 + anda/lib/nvidia/libcublas/cublas.pc | 8 + anda/lib/nvidia/libcublas/cublasLt.pc | 8 + anda/lib/nvidia/libcublas/libcublas.spec | 100 ++++++++++++ anda/lib/nvidia/libcudla/anda.hcl | 6 + anda/lib/nvidia/libcudla/cudla.pc | 8 + anda/lib/nvidia/libcudla/libcudla.spec | 60 +++++++ anda/lib/nvidia/libcufft/anda.hcl | 5 + anda/lib/nvidia/libcufft/cufft.pc | 8 + anda/lib/nvidia/libcufft/cufftw.pc | 8 + anda/lib/nvidia/libcufft/libcufft.spec | 105 ++++++++++++ anda/lib/nvidia/libcurand/anda.hcl | 5 + anda/lib/nvidia/libcurand/curand.pc | 8 + anda/lib/nvidia/libcurand/libcurand.spec | 103 ++++++++++++ anda/lib/nvidia/libcusparse/anda.hcl | 5 + anda/lib/nvidia/libcusparse/cusparse.pc | 8 + anda/lib/nvidia/libcusparse/libcusparse.spec | 91 +++++++++++ anda/lib/nvidia/libcusparselt/anda.hcl | 5 + .../nvidia/libcusparselt/libcusparselt.spec | 79 +++++++++ anda/lib/nvidia/libnvfatbin/anda.hcl | 5 + anda/lib/nvidia/libnvfatbin/libnvfatbin.spec | 92 +++++++++++ anda/lib/nvidia/libnvfatbin/nvfatbin.pc | 8 + anda/lib/nvidia/libnvjpeg/anda.hcl | 5 + anda/lib/nvidia/libnvjpeg/libnvjpeg.spec | 87 ++++++++++ anda/lib/nvidia/libnvjpeg/nvjpeg.pc | 8 + 70 files changed, 2267 insertions(+) create mode 100644 anda/lib/nvidia/compat-nvidia-repo/anda.hcl create mode 100644 anda/lib/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec create mode 100644 anda/lib/nvidia/cuda-cccl/anda.hcl create mode 100644 anda/lib/nvidia/cuda-cccl/cuda-cccl.spec create mode 100644 anda/lib/nvidia/cuda-cudart/anda.hcl create mode 100644 anda/lib/nvidia/cuda-cudart/cuda-cudart.spec create mode 100644 anda/lib/nvidia/cuda-cudart/cudart.pc create mode 100644 anda/lib/nvidia/cuda-cudnn/anda.hcl create mode 100644 anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec create mode 100644 anda/lib/nvidia/cuda-cuobjdump/anda.hcl create mode 100644 anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec create mode 100644 anda/lib/nvidia/cuda-cupti/anda.hcl create mode 100644 anda/lib/nvidia/cuda-cupti/cuda-cupti.spec create mode 100644 anda/lib/nvidia/cuda-cuxxfilt/anda.hcl create mode 100644 anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec create mode 100644 anda/lib/nvidia/cuda-gcc/anda.hcl create mode 100644 anda/lib/nvidia/cuda-gcc/cuda-gcc.spec create mode 100644 anda/lib/nvidia/cuda-gdb/anda.hcl create mode 100644 anda/lib/nvidia/cuda-gdb/cuda-gdb.spec create mode 100644 anda/lib/nvidia/cuda-nvdisasm/anda.hcl create mode 100644 anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec create mode 100644 anda/lib/nvidia/cuda-nvml/anda.hcl create mode 100644 anda/lib/nvidia/cuda-nvml/cuda-nvml.spec create mode 100644 anda/lib/nvidia/cuda-nvml/nvidia-ml.pc create mode 100644 anda/lib/nvidia/cuda-nvprof/accinj64.pc create mode 100644 anda/lib/nvidia/cuda-nvprof/anda.hcl create mode 100644 anda/lib/nvidia/cuda-nvprof/cuda-nvprof.spec create mode 100644 anda/lib/nvidia/cuda-nvprof/cuinj64.pc create mode 100644 anda/lib/nvidia/cuda-nvprune/anda.hcl create mode 100644 anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec create mode 100644 anda/lib/nvidia/cuda-nvrtc/anda.hcl create mode 100644 anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec create mode 100644 anda/lib/nvidia/cuda-nvrtc/nvrtc.pc create mode 100644 anda/lib/nvidia/cuda-nvtx/anda.hcl create mode 100644 anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec create mode 100644 anda/lib/nvidia/cuda-nvtx/nvToolsExt.pc create mode 100644 anda/lib/nvidia/cuda-profiler/anda.hcl create mode 100644 anda/lib/nvidia/cuda-profiler/cuda-profiler.spec create mode 100644 anda/lib/nvidia/cuda-sanitizer/anda.hcl create mode 100644 anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec create mode 100644 anda/lib/nvidia/cuda/anda.hcl create mode 100644 anda/lib/nvidia/cuda/cuda.csh create mode 100644 anda/lib/nvidia/cuda/cuda.pc create mode 100644 anda/lib/nvidia/cuda/cuda.sh create mode 100644 anda/lib/nvidia/cuda/cuda.spec create mode 100644 anda/lib/nvidia/libcublas/anda.hcl create mode 100644 anda/lib/nvidia/libcublas/cublas.pc create mode 100644 anda/lib/nvidia/libcublas/cublasLt.pc create mode 100644 anda/lib/nvidia/libcublas/libcublas.spec create mode 100644 anda/lib/nvidia/libcudla/anda.hcl create mode 100644 anda/lib/nvidia/libcudla/cudla.pc create mode 100644 anda/lib/nvidia/libcudla/libcudla.spec create mode 100644 anda/lib/nvidia/libcufft/anda.hcl create mode 100644 anda/lib/nvidia/libcufft/cufft.pc create mode 100644 anda/lib/nvidia/libcufft/cufftw.pc create mode 100644 anda/lib/nvidia/libcufft/libcufft.spec create mode 100644 anda/lib/nvidia/libcurand/anda.hcl create mode 100644 anda/lib/nvidia/libcurand/curand.pc create mode 100644 anda/lib/nvidia/libcurand/libcurand.spec create mode 100644 anda/lib/nvidia/libcusparse/anda.hcl create mode 100644 anda/lib/nvidia/libcusparse/cusparse.pc create mode 100644 anda/lib/nvidia/libcusparse/libcusparse.spec create mode 100644 anda/lib/nvidia/libcusparselt/anda.hcl create mode 100644 anda/lib/nvidia/libcusparselt/libcusparselt.spec create mode 100644 anda/lib/nvidia/libnvfatbin/anda.hcl create mode 100644 anda/lib/nvidia/libnvfatbin/libnvfatbin.spec create mode 100644 anda/lib/nvidia/libnvfatbin/nvfatbin.pc create mode 100644 anda/lib/nvidia/libnvjpeg/anda.hcl create mode 100644 anda/lib/nvidia/libnvjpeg/libnvjpeg.spec create mode 100644 anda/lib/nvidia/libnvjpeg/nvjpeg.pc diff --git a/anda/lib/nvidia/compat-nvidia-repo/anda.hcl b/anda/lib/nvidia/compat-nvidia-repo/anda.hcl new file mode 100644 index 0000000000..597e5a7b8b --- /dev/null +++ b/anda/lib/nvidia/compat-nvidia-repo/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "compat-nvidia-repo.spec" + } +} diff --git a/anda/lib/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec b/anda/lib/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec new file mode 100644 index 0000000000..5a59fb7fde --- /dev/null +++ b/anda/lib/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec @@ -0,0 +1,34 @@ +Name: compat-nvidia-repo +Version: 565.77 +Epoch: 3 +Release: 1%{?dist} +Summary: Compatibility package required by official CUDA packages +License: NVIDIA License +URL: https://developer.nvidia.com/cuda-toolkit + +BuildArch: noarch + +Requires: nvidia-driver >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-cuda >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-cuda-libs >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-libs >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-kmod >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-settings >= %{?epoch:%{epoch}:}%{version} + +Provides: cuda-drivers >= %{?epoch:%{epoch}:}%{version} +Provides: nvidia-open >= %{?epoch:%{epoch}:}%{version} +# Add any versioned provides: +Provides: cuda-drivers-560 >= %{?epoch:%{epoch}:}%{version} +Provides: cuda-drivers-565 >= %{?epoch:%{epoch}:}%{version} +Provides: nvidia-open-560 >= %{?epoch:%{epoch}:}%{version} +Provides: nvidia-open-565 >= %{?epoch:%{epoch}:}%{version} + +%description +Nvidia drivers metapackage required by official CUDA packages. It pulls in all +Nvidia driver components. + +%files +# Without an empty files section the package is not created. + +%changelog +%autochangelog diff --git a/anda/lib/nvidia/cuda-cccl/anda.hcl b/anda/lib/nvidia/cuda-cccl/anda.hcl new file mode 100644 index 0000000000..97bc5e28e1 --- /dev/null +++ b/anda/lib/nvidia/cuda-cccl/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cuda-cccl.spec" + } +} diff --git a/anda/lib/nvidia/cuda-cccl/cuda-cccl.spec b/anda/lib/nvidia/cuda-cccl/cuda-cccl.spec new file mode 100644 index 0000000000..3a02187274 --- /dev/null +++ b/anda/lib/nvidia/cuda-cccl/cuda-cccl.spec @@ -0,0 +1,58 @@ +%global real_name cuda_cccl + +%global debug_package %{nil} +%global major_package_version 12-6 + +Name: %(echo %real_name | tr '_' '-') +Epoch: 1 +Version: 12.6.77 +Release: 1%{?dist} +Summary: CXX Core Compute Libraries +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz + +Requires: cmake-filesystem +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description +CXX Core Compute Libraries. + +%package devel +Summary: CXX Core Compute Libraries development files + +%description devel +CXX Core Compute Libraries development files. + +%prep +%ifarch x86_64 +%setup -q -n %{real_name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir}/cmake + +cp -fr include/* %{buildroot}%{_includedir}/ +# Conflict with rocthrust-devel in main repositories: +mv %{buildroot}%{_includedir}/thrust %{buildroot}%{_includedir}/cuda/ + +cp -fr lib/cmake/* %{buildroot}%{_libdir}/cmake +rm -f %{buildroot}%{_libdir}/cmake/thrust/README.md + +%files devel +%license LICENSE +%doc lib/cmake/thrust/README.md +%{_includedir}/* +%{_libdir}/cmake/* + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/cuda-cudart/anda.hcl b/anda/lib/nvidia/cuda-cudart/anda.hcl new file mode 100644 index 0000000000..d031eef9dc --- /dev/null +++ b/anda/lib/nvidia/cuda-cudart/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cuda-cudart.spec" + } +} diff --git a/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec b/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec new file mode 100644 index 0000000000..400d6e9d7f --- /dev/null +++ b/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec @@ -0,0 +1,87 @@ +%global real_name cuda_cudart + +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: %(echo %real_name | tr '_' '-') +Epoch: 1 +Version: 12.6.77 +Release: 1%{?dist} +Summary: CUDA Runtime API library +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz +Source3: cudart.pc + +Requires(post): ldconfig +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +CUDA Runtime (cudart). + +%package devel +Summary: Development files for NVIDIA CUDA Runtime API library +Requires: opencl-headers +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides development files for the NVIDIA CUDA Runtime API library. + +%package static +Summary: Static libraries for NVIDIA CUDA Runtime API +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for NVIDIA CUDA Runtime API. + +%prep +%ifarch x86_64 +%setup -q -n %{real_name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +rm -fr %{buildroot}%{_includedir}/CL +cp -fr lib/libcu* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libcudart.so.* + +%files devel +%{_includedir}/* +%{_libdir}/libcudadevrt.a +%{_libdir}/libcudart.so +%{_libdir}/libculibos.a +%{_libdir}/pkgconfig/cudart.pc + +%files static +%{_libdir}/libcudart_static.a + +%changelog +%autochangelog diff --git a/anda/lib/nvidia/cuda-cudart/cudart.pc b/anda/lib/nvidia/cuda-cudart/cudart.pc new file mode 100644 index 0000000000..eea148314f --- /dev/null +++ b/anda/lib/nvidia/cuda-cudart/cudart.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: cudart +Description: CUDA Runtime Library +Version: CUDA_VERSION +Libs: -L${libdir} -lcudart +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/cuda-cudnn/anda.hcl b/anda/lib/nvidia/cuda-cudnn/anda.hcl new file mode 100644 index 0000000000..be265f0d92 --- /dev/null +++ b/anda/lib/nvidia/cuda-cudnn/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cuda-cudnn.spec" + } +} diff --git a/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec b/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec new file mode 100644 index 0000000000..d712263ea5 --- /dev/null +++ b/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec @@ -0,0 +1,76 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global cuda_version 12 + +Name: cuda-cudnn +Version: 9.6.0.74 +Release: 1%{?dist} +Epoch: 1 +Summary: NVIDIA CUDA Deep Neural Network library (cuDNN) +License: NVIDIA Software Development Kit +URL: https://developer.nvidia.com/cudnn +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-%{version}_cuda%{cuda_version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-%{version}_cuda%{cuda_version}-archive.tar.xz + +%description +The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated +library of primitives for deep neural networks. cuDNN provides highly tuned +implementations for standard routines such as forward and backward convolution, +pooling, normalization, and activation layers. cuDNN is part of the NVIDIA Deep +Learning SDK. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: cuda%{?_isa} >= %{?epoch:%{epoch}:}%{cuda_version} + +%description devel +The %{name}-devel package contains libraries and header files for developing +applications that use %{name}. + +%package static +Summary: Static libraries for %{name} +Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +Static library files for %{name}. + +%prep +%ifarch x86_64 +%setup -q -n cudnn-linux-x86_64-%{version}_cuda%{cuda_version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n cudnn-linux-sbsa-%{version}_cuda%{cuda_version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_libdir} +cp -a lib/*.so* %{buildroot}%{_libdir}/ +chmod 755 %{buildroot}%{_libdir}/*.so* +cp -a lib/*.a %{buildroot}%{_libdir}/ +chmod 644 %{buildroot}%{_libdir}/*.a + +mkdir -p %{buildroot}%{_includedir} +cp -a include/* %{buildroot}%{_includedir}/ +chmod 644 %{buildroot}%{_includedir}/* + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libcudnn*.so.* + +%files devel +%{_includedir}/cudnn* +%{_libdir}/libcudnn*.so + +%files static +%{_libdir}/libcudnn*.a + +%changelog +%autochangelog diff --git a/anda/lib/nvidia/cuda-cuobjdump/anda.hcl b/anda/lib/nvidia/cuda-cuobjdump/anda.hcl new file mode 100644 index 0000000000..17d8bacb42 --- /dev/null +++ b/anda/lib/nvidia/cuda-cuobjdump/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cuda-cuobjdump.spec" + } +} diff --git a/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec b/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec new file mode 100644 index 0000000000..a74b2922f6 --- /dev/null +++ b/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec @@ -0,0 +1,48 @@ +%global real_name cuda_cuobjdump + +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: %(echo %real_name | tr '_' '-') +Epoch: 1 +Version: 12.6.77 +Release: 1%{?dist} +Summary: Utility to extract information from CUDA binary files +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz + +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +cuobjdump extracts information from CUDA binary files (both standalone and those +embedded in host binaries) and presents them in human readable format. The +output of cuobjdump includes CUDA assembly code for each kernel, CUDA ELF +section headers, string tables, relocators and other CUDA specific sections. It +also extracts embedded ptx text from host binaries. + +%prep +%ifarch x86_64 +%setup -q -n %{real_name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive +%endif + +%install +install -m 0755 -p -D bin/cuobjdump %{buildroot}%{_bindir}/cuobjdump + +%files +%license LICENSE +%{_bindir}/cuobjdump + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/cuda-cupti/anda.hcl b/anda/lib/nvidia/cuda-cupti/anda.hcl new file mode 100644 index 0000000000..202648971d --- /dev/null +++ b/anda/lib/nvidia/cuda-cupti/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cuda-cupti.spec" + } +} diff --git a/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec b/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec new file mode 100644 index 0000000000..f6bbe558ff --- /dev/null +++ b/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec @@ -0,0 +1,83 @@ +%global real_name cuda_cupti + +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: %(echo %real_name | tr '_' '-') +Epoch: 1 +Version: 12.6.80 +Release: 1%{?dist} +Summary: NVIDIA CUDA Profiling Tools Interface (CUPTI) library +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz + +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +The NVIDIA CUDA Profiling Tools Interface (CUPTI) provides performance analysis +tools with detailed information about how applications are using the GPUs in a +system. + +%package devel +Summary: Development files for NVIDIA CUDA Profiling Tools Interface (CUPTI) library +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +This package provides development files for the NVIDIA CUDA Profiling Tools +Interface (CUPTI) library. + +%package static +Summary: Static libraries for NVIDIA CUDA Profiling Tools Interface (CUPTI) +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for NVIDIA CUDA Profiling Tools Interface +(CUPTI). + +%prep +%ifarch x86_64 +%setup -q -n %{real_name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive +%endif + +%{?ldconfig_scriptlets} + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/* %{buildroot}%{_libdir}/ + +%files +%license LICENSE +%{_libdir}/libcheckpoint.so +%{_libdir}/libcupti.so.* +%{_libdir}/libpcsamplingutil.so + +%files devel +%doc doc/* samples/* +%{_includedir}/* +%{_libdir}/libcupti.so +%{_libdir}/libnvperf_host.so +%{_libdir}/libnvperf_target.so + +%files static +%{_libdir}/libcupti_static.a +%ifarch x86_64 +%{_libdir}/libnvperf_host_static.a +%endif + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/cuda-cuxxfilt/anda.hcl b/anda/lib/nvidia/cuda-cuxxfilt/anda.hcl new file mode 100644 index 0000000000..5ccab73ec3 --- /dev/null +++ b/anda/lib/nvidia/cuda-cuxxfilt/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cuda-cuxxfilt.spec" + } +} diff --git a/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec b/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec new file mode 100644 index 0000000000..253a6000bc --- /dev/null +++ b/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec @@ -0,0 +1,53 @@ +%global real_name cuda_cuxxfilt + +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: %(echo %real_name | tr '_' '-') +Epoch: 1 +Version: 12.6.77 +Release: 1%{?dist} +Summary: CUDA cuxxfilt (demangler) +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz + +%description +CUDA cuxxfilt (demangler). + +%package devel +Summary: CUDA cuxxfilt (demangler) development files +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +CUDA cuxxfilt (demangler). + +%prep +%ifarch x86_64 +%setup -q -n %{real_name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive +%endif + +%install +install -m 0755 -p -D bin/cu++filt %{buildroot}%{_bindir}/cu++filt +install -m 0644 -p -D include/nv_decode.h %{buildroot}%{_includedir}/nv_decode.h +install -m 0644 -p -D lib/libcufilt.a %{buildroot}%{_libdir}/libcufilt.a + +%files devel +%license LICENSE +%{_bindir}/cu++filt +%{_includedir}/nv_decode.h +%{_libdir}/libcufilt.a + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/cuda-gcc/anda.hcl b/anda/lib/nvidia/cuda-gcc/anda.hcl new file mode 100644 index 0000000000..aaf0294b75 --- /dev/null +++ b/anda/lib/nvidia/cuda-gcc/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "cuda-gcc.spec" + } +} diff --git a/anda/lib/nvidia/cuda-gcc/cuda-gcc.spec b/anda/lib/nvidia/cuda-gcc/cuda-gcc.spec new file mode 100644 index 0000000000..57ddf951f6 --- /dev/null +++ b/anda/lib/nvidia/cuda-gcc/cuda-gcc.spec @@ -0,0 +1,47 @@ +%global gcc_major 13 + +Name: cuda-gcc +Version: 13.3.1 +Release: 2%{?dist} +Summary: GNU Compiler Collection CUDA compatibility package +License: BSD +URL: http://gcc.gnu.org + +BuildArch: noarch + +Requires: gcc%{gcc_major}-c++ + +Provides: cuda-gcc = %{version}-%{release} +Obsoletes: cuda-gcc < %{version}-%{release} +Provides: cuda-gcc-c++ = %{version}-%{release} +Obsoletes: cuda-gcc-c++ < %{version}-%{release} +Provides: cuda-gcc-gfortran = %{version}-%{release} +Obsoletes: cuda-gcc-gfortran < %{version}-%{release} + +%description +The %{name} package contains scripts that are sourced in the environment to use +the GCC compatibility packages when invoking NVCC. + +%install +mkdir -p %{buildroot}%{_sysconfdir}/profile.d/ + +cat > %{buildroot}%{_sysconfdir}/profile.d/%{name}.sh < %{buildroot}%{_sysconfdir}/profile.d/%{name}.csh <= 1.95 +Conflicts: %{name}-command-line-tools-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description cli-tools +Contains the command line tools to debug and profile CUDA applications. + +%package libs +Summary: Compute Unified Device Architecture native run-time library +Requires(post): ldconfig +Requires: %{name}-cudart%{?_isa} +Requires: %{name}-nvrtc%{?_isa} +Requires: libcublas%{?_isa} +Requires: libcufft%{?_isa} +Requires: libcufile%{?_isa} +Requires: libcurand%{?_isa} +Requires: libcusolver%{?_isa} +Requires: libcusparse%{?_isa} +Requires: libnpp%{?_isa} +Requires: libnvjpeg%{?_isa} +Conflicts: %{name}-driver-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-libraries-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} +# Explicitly declare the dependency or libcuda.so.1()(64bit) will pull in xorg-x11-drv-cuda-libs +Requires: nvidia-driver-cuda-libs%{_isa} + +%description libs +Contains the CUDA run-time library required to run CUDA application natively. + +%package extra-libs +Summary: All runtime NVIDIA CUDA libraries +Requires(post): ldconfig +Requires: %{name}-cupti%{?_isa} +Conflicts: %{name}-runtime-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description extra-libs +Metapackage that installs all runtime NVIDIA CUDA libraries. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-libs%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-cccl-devel%{?_isa} +Requires: %{name}-cudart-devel%{?_isa} +Requires: %{name}-cupti-devel%{?_isa} +Requires: %{name}-nvcc%{?_isa} +Requires: %{name}-nvprof-devel%{?_isa} +Requires: %{name}-nvprune%{?_isa} +Requires: %{name}-nvml-devel%{?_isa} +Requires: %{name}-nvrtc-devel%{?_isa} +Requires: %{name}-nvtx-devel%{?_isa} +Requires: %{name}-cuobjdump%{?_isa} +Requires: %{name}-cuxxfilt-devel%{?_isa} +Requires: libcublas-devel%{?_isa} +Requires: libcufft-devel%{?_isa} +Requires: libcufile-devel%{?_isa} +Requires: libcurand-devel%{?_isa} +Requires: libcusolver-devel%{?_isa} +Requires: libcusparse-devel%{?_isa} +Requires: libnpp-devel%{?_isa} +Requires: libnvjpeg-devel%{?_isa} +Conflicts: %{name}-headers-%{major_package_version} < %{?epoch:%{epoch}:}%{version} +Conflicts: %{name}-libraries-dev-%{major_package_version} < %{?epoch:%{epoch}:}%{version} +Conflicts: %{name}-misc-headers-%{major_package_version} < %{?epoch:%{epoch}:}%{version} +Conflicts: %{name}-toolkit-%{major_package_version} < %{?epoch:%{epoch}:}%{version} +Provides: %{name}-toolkit-%{major_package_version} = %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides the development files of the %{name} package. + +%prep +%setup -q -n cuda_documentation-linux-x86_64-%{version}-archive + +%build +# Nothing to build + +%install +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ +mkdir -p %{buildroot}%{_sysconfdir}/profile.d/ + +# Environment settings +install -pm 644 %{SOURCE3} %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d + +# pkg-config files +install -pm 644 %{SOURCE21} %{buildroot}/%{_libdir}/pkgconfig + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}/cuda|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%files +%license LICENSE +%doc CUDA_Toolkit_Release_Notes.txt DOCS EULA.txt README tools +%config(noreplace) %{_sysconfdir}/profile.d/%{name}.*sh + +%files cli-tools +# Empty metapackage + +%files libs +# Empty metapackage + +%files extra-libs +# Empty metapackage + +%files devel +%{_libdir}/pkgconfig/cuda.pc + +%changelog +%autochangelog diff --git a/anda/lib/nvidia/libcublas/anda.hcl b/anda/lib/nvidia/libcublas/anda.hcl new file mode 100644 index 0000000000..ac72d9af4e --- /dev/null +++ b/anda/lib/nvidia/libcublas/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libcublas.spec" + } +} diff --git a/anda/lib/nvidia/libcublas/cublas.pc b/anda/lib/nvidia/libcublas/cublas.pc new file mode 100644 index 0000000000..15715b8ea6 --- /dev/null +++ b/anda/lib/nvidia/libcublas/cublas.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: cublas +Description: CUDA Basic Linear Algebra Subprograms +Version: CUDA_VERSION +Libs: -L${libdir} -lcublas +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libcublas/cublasLt.pc b/anda/lib/nvidia/libcublas/cublasLt.pc new file mode 100644 index 0000000000..f9565df9cf --- /dev/null +++ b/anda/lib/nvidia/libcublas/cublasLt.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: cublas +Description: CUDA Basic Linear Algebra Subprograms Lite +Version: CUDA_VERSION +Libs: -L${libdir} -lcublasLt +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libcublas/libcublas.spec b/anda/lib/nvidia/libcublas/libcublas.spec new file mode 100644 index 0000000000..c1f3763816 --- /dev/null +++ b/anda/lib/nvidia/libcublas/libcublas.spec @@ -0,0 +1,100 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: libcublas +Epoch: 1 +Version: 12.6.4.1 +Release: 1%{?dist} +Summary: NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) libraries +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-x86_64/%{name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-sbsa/%{name}-linux-sbsa-%{version}-archive.tar.xz +Source3: cublas.pc +Source4: cublasLt.pc + +Requires(post): ldconfig +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +The NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) library is a +GPU-accelerated version of the complete standard BLAS library that delivers 6x +to 17x faster performance than the latest MKL BLAS. + +%package devel +Summary: Development files for NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides development files for the NVIDIA CUDA Basic Linear +Algebra Subroutines (cuBLAS) libraries. + +%package static +Summary: Static libraries for NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for the NVIDIA CUDA Basic Linear Algebra +Subroutines (cuBLAS). + +%prep +%ifarch x86_64 +%setup -q -n %{name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/lib* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE3} %{SOURCE4} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libcublas.so.* +%{_libdir}/libcublasLt.so.* +%{_libdir}/libnvblas.so.* + +%files devel +%ifarch x86_64 +%doc src +%endif +%{_includedir}/nvblas.h +%{_includedir}/cublasLt.h +%{_includedir}/cublas_v2.h +%{_includedir}/cublas.h +%{_includedir}/cublas_api.h +%{_includedir}/cublasXt.h +%{_libdir}/libcublas.so +%{_libdir}/libcublasLt.so +%{_libdir}/libnvblas.so +%{_libdir}/pkgconfig/cublas.pc +%{_libdir}/pkgconfig/cublasLt.pc + +%files static +%{_libdir}/libcublas_static.a +%{_libdir}/libcublasLt_static.a + +%changelog +%autochangelog diff --git a/anda/lib/nvidia/libcudla/anda.hcl b/anda/lib/nvidia/libcudla/anda.hcl new file mode 100644 index 0000000000..82d9990d36 --- /dev/null +++ b/anda/lib/nvidia/libcudla/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["aarch64"] + rpm { + spec = "libcudla.spec" + } +} diff --git a/anda/lib/nvidia/libcudla/cudla.pc b/anda/lib/nvidia/libcudla/cudla.pc new file mode 100644 index 0000000000..2cc5ee1e2f --- /dev/null +++ b/anda/lib/nvidia/libcudla/cudla.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: cublas +Description: CUDA Deep Learning Accelerator (DLA) engines driver +Version: CUDA_VERSION +Libs: -L${libdir} -lcudla +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libcudla/libcudla.spec b/anda/lib/nvidia/libcudla/libcudla.spec new file mode 100644 index 0000000000..1334b8dcaf --- /dev/null +++ b/anda/lib/nvidia/libcudla/libcudla.spec @@ -0,0 +1,60 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: libcudla +Epoch: 1 +Version: 12.6.77 +Release: 1%{?dist} +Summary: NVIDIA CUDA Deep Learning Accelerator (DLA) engines (Jetson Xavier and Orin) +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-aarch64/%{name}-linux-aarch64-%{version}-archive.tar.xz +Source1: cudla.pc + +%description +Low-level driver for the Deep Learning Accelerator (DLA) engine for Jetson Xavier and Orin boards. + +%package devel +Summary: Development files for CUDA Deep Learning Accelerator (DLA) engines +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides development files for the CUDA Deep Learning Accelerator (DLA) engines. + +%prep +%autosetup -n %{name}-linux-aarch64-%{version}-archive + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/lib* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE1} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%files +%license LICENSE +%{_libdir}/libcudla.so.* + +%files devel +%{_includedir}/cudla.h +%{_includedir}/cudlaExternalEtbl.hpp +%{_libdir}/libcudla.so +%{_libdir}/pkgconfig/cudla.pc + +%changelog +%autochangelog diff --git a/anda/lib/nvidia/libcufft/anda.hcl b/anda/lib/nvidia/libcufft/anda.hcl new file mode 100644 index 0000000000..bc681a128e --- /dev/null +++ b/anda/lib/nvidia/libcufft/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libcufft.spec" + } +} diff --git a/anda/lib/nvidia/libcufft/cufft.pc b/anda/lib/nvidia/libcufft/cufft.pc new file mode 100644 index 0000000000..94a33651ad --- /dev/null +++ b/anda/lib/nvidia/libcufft/cufft.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: cufft +Description: CUDA Fast Fourier Transform +Version: CUDA_VERSION +Libs: -L${libdir} -lcufft +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libcufft/cufftw.pc b/anda/lib/nvidia/libcufft/cufftw.pc new file mode 100644 index 0000000000..a009f4ba0e --- /dev/null +++ b/anda/lib/nvidia/libcufft/cufftw.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: cufftw +Description: CUDA Fast Fourier Transform Wide +Version: CUDA_VERSION +Libs: -L${libdir} -lcufftw +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libcufft/libcufft.spec b/anda/lib/nvidia/libcufft/libcufft.spec new file mode 100644 index 0000000000..39d99163f9 --- /dev/null +++ b/anda/lib/nvidia/libcufft/libcufft.spec @@ -0,0 +1,105 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: libcufft +Epoch: 2 +Version: 11.3.0.4 +Release: 1%{?dist} +Summary: NVIDIA CUDA Fast Fourier Transform library (cuFFT) libraries +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-x86_64/%{name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-sbsa/%{name}-linux-sbsa-%{version}-archive.tar.xz +Source3: cufft.pc +Source4: cufftw.pc + +Requires(post): ldconfig +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} +# Drop in 11.7: +Provides: cuda-cufft = %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: cuda-cufft < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +The NVIDIA CUDA Fast Fourier Transform libraries (cuFFT) provide a simple +interface for computing FFTs up to 10x faster. By using hundreds of processor +cores inside NVIDIA GPUs, cuFFT delivers the floating‐point performance of a +GPU without having to develop your own custom GPU FFT implementation. + +%package devel +Summary: Development files for CUDA Fast Fourier Transform library (cuFFT) +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} +# Drop in 11.7: +Provides: cuda-cufft-devel = %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: cuda-cufft-devel < %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +This package provides development files for the NVIDIA CUDA Fast Fourier +Transform library (cuFFT) libraries. + +%package static +Summary: Static libraries for CUDA Fast Fourier Transform library (cuFFT) +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +# Drop in 11.7: +Provides: cuda-cufft-static = %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: cuda-cufft-static < %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for CUDA Fast Fourier Transform library +(cuFFT). + +%prep +%ifarch x86_64 +%setup -q -n %{name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/lib* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE3} %{SOURCE4} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libcufft.so.* +%{_libdir}/libcufftw.so.* + +%files devel +%{_includedir}/cudalibxt.h +%{_includedir}/cufft.h +%{_includedir}/cufftw.h +%{_includedir}/cufftXt.h +%{_libdir}/libcufft.so +%{_libdir}/libcufftw.so +%{_libdir}/pkgconfig/cufft.pc +%{_libdir}/pkgconfig/cufftw.pc + +%files static +%{_libdir}/libcufft_static.a +%{_libdir}/libcufft_static_nocallback.a +%{_libdir}/libcufftw_static.a + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/libcurand/anda.hcl b/anda/lib/nvidia/libcurand/anda.hcl new file mode 100644 index 0000000000..791eeace23 --- /dev/null +++ b/anda/lib/nvidia/libcurand/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libcurand.spec" + } +} diff --git a/anda/lib/nvidia/libcurand/curand.pc b/anda/lib/nvidia/libcurand/curand.pc new file mode 100644 index 0000000000..cb3e52489f --- /dev/null +++ b/anda/lib/nvidia/libcurand/curand.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: curand +Description: CUDA Random Number Generation Library +Version: CUDA_VERSION +Libs: -L${libdir} -lcurand +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libcurand/libcurand.spec b/anda/lib/nvidia/libcurand/libcurand.spec new file mode 100644 index 0000000000..49a2b1f4b9 --- /dev/null +++ b/anda/lib/nvidia/libcurand/libcurand.spec @@ -0,0 +1,103 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: libcurand +Epoch: 2 +Version: 10.3.7.77 +Release: 1%{?dist} +Summary: NVIDIA CUDA Random Number Generation library (cuRAND) +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-x86_64/%{name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-sbsa/%{name}-linux-sbsa-%{version}-archive.tar.xz +Source3: curand.pc + +Requires(post): ldconfig +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +The NVIDIA CUDA Random Number Generation library (cuRAND) delivers high +performance GPU-accelerated random number generation (RNG). The cuRAND library +delivers high quality random numbers 8x faster using hundreds of processor +cores available in NVIDIA GPUs. + +%package devel +Summary: Development files for NVIDIA CUDA Random Number Generation library (cuRAND) +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides development files for the NVIDIA CUDA Random Number +Generation library (cuRAND). + +%package static +Summary: Static libraries for NVIDIA CUDA Random Number Generation (cuRAND) +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for NVIDIA CUDA Random Number Generation +(cuRAND). + +%prep +%ifarch x86_64 +%setup -q -n %{name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/lib* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libcurand.so.* + +%files devel +%{_includedir}/curand_discrete2.h +%{_includedir}/curand_discrete.h +%{_includedir}/curand_globals.h +%{_includedir}/curand.h +%{_includedir}/curand_kernel.h +%{_includedir}/curand_lognormal.h +%{_includedir}/curand_mrg32k3a.h +%{_includedir}/curand_mtgp32dc_p_11213.h +%{_includedir}/curand_mtgp32.h +%{_includedir}/curand_mtgp32_host.h +%{_includedir}/curand_mtgp32_kernel.h +%{_includedir}/curand_normal.h +%{_includedir}/curand_normal_static.h +%{_includedir}/curand_philox4x32_x.h +%{_includedir}/curand_poisson.h +%{_includedir}/curand_precalc.h +%{_includedir}/curand_uniform.h +%{_libdir}/libcurand.so +%{_libdir}/pkgconfig/curand.pc + +%files static +%{_libdir}/libcurand_static.a + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/libcusparse/anda.hcl b/anda/lib/nvidia/libcusparse/anda.hcl new file mode 100644 index 0000000000..4961c9a272 --- /dev/null +++ b/anda/lib/nvidia/libcusparse/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libcusparse.spec" + } +} diff --git a/anda/lib/nvidia/libcusparse/cusparse.pc b/anda/lib/nvidia/libcusparse/cusparse.pc new file mode 100644 index 0000000000..cd77308e3c --- /dev/null +++ b/anda/lib/nvidia/libcusparse/cusparse.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: cusparse +Description: CUDA Sparse Matrix Library +Version: CUDA_VERSION +Libs: -L${libdir} -lcusparse +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libcusparse/libcusparse.spec b/anda/lib/nvidia/libcusparse/libcusparse.spec new file mode 100644 index 0000000000..fdbe4c7ab3 --- /dev/null +++ b/anda/lib/nvidia/libcusparse/libcusparse.spec @@ -0,0 +1,91 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: libcusparse +Epoch: 1 +Version: 12.5.4.2 +Release: 1%{?dist} +Summary: NVIDIA CUDA Sparse Matrix library (cuSPARSE) library +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-x86_64/%{name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-sbsa/%{name}-linux-sbsa-%{version}-archive.tar.xz +Source3: cusparse.pc + +Requires(post): ldconfig +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +The NVIDIA CUDA Sparse Matrix library (cuSPARSE) provides a collection of basic +linear algebra subroutines used for sparse matrices that delivers up to 8x +faster performance than the latest MKL. The cuSPARSE library is designed to be +called from C or C++, and the latest release includes a sparse triangular +solver. + +%package devel +Summary: Development files for NVIDIA CUDA Sparse Matrix (cuSPARSE) library +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides development files for the NVIDIA CUDA Sparse Matrix +library (cuSPARSE) library. + +%package static +Summary: Static libraries for NVIDIA CUDA Sparse Matrix (cuSPARSE) +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for NVIDIA CUDA Sparse Matrix (cuSPARSE). + +%prep +%ifarch x86_64 +%setup -q -n %{name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/lib* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libcusparse.so.* + +%files devel +%ifarch x86_64 +%doc src +%endif +%{_includedir}/cusparse.h +%{_includedir}/cusparse_v2.h +%{_libdir}/libcusparse.so +%{_libdir}/pkgconfig/cusparse.pc + +%files static +%{_libdir}/libcusparse_static.a + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/libcusparselt/anda.hcl b/anda/lib/nvidia/libcusparselt/anda.hcl new file mode 100644 index 0000000000..76aa6bebaa --- /dev/null +++ b/anda/lib/nvidia/libcusparselt/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libcusparselt.spec" + } +} diff --git a/anda/lib/nvidia/libcusparselt/libcusparselt.spec b/anda/lib/nvidia/libcusparselt/libcusparselt.spec new file mode 100644 index 0000000000..6bd499d191 --- /dev/null +++ b/anda/lib/nvidia/libcusparselt/libcusparselt.spec @@ -0,0 +1,79 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none + +Name: libcusparselt +Version: 0.6.0.6 +Release: 1%{?dist} +Summary: CUDA Library for Sparse Matrix-Matrix Multiplication +License: NVIDIA License +URL: https://docs.nvidia.com/cuda/cusparselt/index.html +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-x86_64/libcusparse_lt-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-sbsa/libcusparse_lt-linux-sbsa-%{version}-archive.tar.xz + +Conflicts: %{name}0 < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +NVIDIA cuSPARSELt is a high-performance CUDA library dedicated to general +matrix-matrix operations in which at least one operand is a sparse matrix. + +The cuSPARSELt APIs allow flexibility in the algorithm/operation selection, +epilogue, and matrix characteristics, including memory layout, alignment, and +data types. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: cuda-devel%{?_isa} +Conflicts: %{name}-devel < %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for developing +applications that use cuSPARSELt. + +%package static +Summary: Static libraries for %{name} +Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +Static libraries for cuSPARSELt. + +%prep +%ifarch x86_64 +%setup -q -n libcusparse_lt-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n libcusparse_lt-linux-sbsa-%{version}-archive +%endif + +%build +# Nothing to build + +%install +mkdir -p %{buildroot}%{_libdir}/ +cp -a lib/libcusparseLt.so* %{buildroot}%{_libdir}/ +chmod 755 %{buildroot}%{_libdir}/*.so* +install -p -m0644 lib/libcusparseLt_static.a %{buildroot}%{_libdir}/ + +mkdir -p %{buildroot}%{_includedir}/ +install -p -m0644 include/cusparseLt.h %{buildroot}%{_includedir}/ + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libcusparseLt.so.* + +%files devel +%{_includedir}/cusparseLt.h +%{_libdir}/libcusparseLt.so + +%files static +%{_libdir}/libcusparseLt_static.a + +%changelog +%autochangelog diff --git a/anda/lib/nvidia/libnvfatbin/anda.hcl b/anda/lib/nvidia/libnvfatbin/anda.hcl new file mode 100644 index 0000000000..551109cf1f --- /dev/null +++ b/anda/lib/nvidia/libnvfatbin/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libnvfatbin.spec" + } +} diff --git a/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec b/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec new file mode 100644 index 0000000000..9ce45567d1 --- /dev/null +++ b/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec @@ -0,0 +1,92 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: libnvfatbin +Epoch: 1 +Version: 12.6.77 +Release: 1%{?dist} +Summary: CUDA Fatbin Creator API +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-x86_64/%{name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-sbsa/%{name}-linux-sbsa-%{version}-archive.tar.xz +Source3: nvfatbin.pc + +Requires(post): ldconfig +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +The Fatbin Creator APIs are a set of APIs which can be used at runtime to +combine multiple CUDA objects into one CUDA fat binary (fatbin). + +The functionality in this library is similar to the fatbinary offline tool in +the CUDA toolkit, with the following advantages: + + - Support for runtime fatbin creation. + - The clients get fine grain control and can specify separate options for each + fatbinary. + - Supports direct input from memory, rather than requiring inputs be written to + files. + +%package devel +Summary: Development files for CUDA Fatbin Creator API +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides development files for the CUDA Fatbin Creator API. + +%package static +Summary: Static libraries for CUDA Fatbin Creator API. +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for CUDA Fatbin Creator API. + +%prep +%ifarch x86_64 +%setup -q -n %{name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/lib* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libnvfatbin.so.* + +%files devel +%{_includedir}/nvFatbin.h +%{_libdir}/libnvfatbin.so +%{_libdir}/pkgconfig/nvfatbin.pc + +%files static +%{_libdir}/libnvfatbin_static.a + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/libnvfatbin/nvfatbin.pc b/anda/lib/nvidia/libnvfatbin/nvfatbin.pc new file mode 100644 index 0000000000..7c5962b839 --- /dev/null +++ b/anda/lib/nvidia/libnvfatbin/nvfatbin.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: nvjpeg +Description: NVIDIA JPEG decoder +Version: CUDA_VERSION +Libs: -L${libdir} -lnvjpeg +Cflags: -I${includedir} diff --git a/anda/lib/nvidia/libnvjpeg/anda.hcl b/anda/lib/nvidia/libnvjpeg/anda.hcl new file mode 100644 index 0000000000..54b8bbebb2 --- /dev/null +++ b/anda/lib/nvidia/libnvjpeg/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libnvjpeg.spec" + } +} diff --git a/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec b/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec new file mode 100644 index 0000000000..808cde3fb0 --- /dev/null +++ b/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec @@ -0,0 +1,87 @@ +%global debug_package %{nil} +%global __strip /bin/true +%global _missing_build_ids_terminate_build 0 +%global _build_id_links none +%global major_package_version 12-6 + +Name: libnvjpeg +Epoch: 1 +Version: 12.3.3.54 +Release: 1%{?dist} +Summary: CUDA NVIDIA JPEG decoder (nvJPEG) +License: CUDA Toolkit +URL: https://developer.nvidia.com/cuda-toolkit +ExclusiveArch: x86_64 aarch64 + +Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-x86_64/%{name}-linux-x86_64-%{version}-archive.tar.xz +Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{name}/linux-sbsa/%{name}-linux-sbsa-%{version}-archive.tar.xz +Source3: nvjpeg.pc + +Requires(post): ldconfig +Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release} + +%description +nvJPEG is a high-performance GPU-accelerated library for JPEG decoding. nvJPEG +supports decoding of single and batched images, color space conversion, multiple +phase decoding, and hybrid decoding using both CPU and GPU. Applications that +rely on nvJPEG for decoding deliver higher throughput and lower latency JPEG +decode compared CPU-only decoding. + +%package devel +Summary: Development files for CUDA NVIDIA JPEG decoder (nvJPEG) +Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version} + +%description devel +This package provides development files for the CUDA NVIDIA JPEG decoder +(nvJPEG). + +%package static +Summary: Static libraries for CUDA NVIDIA JPEG decoder (nvJPEG) +Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description static +This package contains static libraries for CUDA NVIDIA JPEG decoder (nvJPEG). + +%prep +%ifarch x86_64 +%setup -q -n %{name}-linux-x86_64-%{version}-archive +%endif + +%ifarch aarch64 +%setup -q -T -b 1 -n %{name}-linux-sbsa-%{version}-archive +%endif + +%install +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ + +cp -fr include/* %{buildroot}%{_includedir}/ +cp -fr lib/lib* %{buildroot}%{_libdir}/ +cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/ + +# Set proper variables +sed -i \ + -e 's|CUDA_VERSION|%{version}|g' \ + -e 's|LIBDIR|%{_libdir}|g' \ + -e 's|INCLUDE_DIR|%{_includedir}|g' \ + %{buildroot}/%{_libdir}/pkgconfig/*.pc + +%{?ldconfig_scriptlets} + +%files +%license LICENSE +%{_libdir}/libnvjpeg.so.* + +%files devel +%{_includedir}/nvjpeg.h +%{_libdir}/libnvjpeg.so +%{_libdir}/pkgconfig/nvjpeg.pc + +%files static +%{_libdir}/libnvjpeg_static.a + +%changelog +%autochangelog + diff --git a/anda/lib/nvidia/libnvjpeg/nvjpeg.pc b/anda/lib/nvidia/libnvjpeg/nvjpeg.pc new file mode 100644 index 0000000000..7c5962b839 --- /dev/null +++ b/anda/lib/nvidia/libnvjpeg/nvjpeg.pc @@ -0,0 +1,8 @@ +libdir=LIBDIR +includedir=INCLUDE_DIR + +Name: nvjpeg +Description: NVIDIA JPEG decoder +Version: CUDA_VERSION +Libs: -L${libdir} -lnvjpeg +Cflags: -I${includedir}