%define __jar_repack %nil %define driver_ver 525.60.13 %define cuda_major 12.1 %define _enable_debug_packages %{nil} %define debug_package %{nil} # limit number of parallel cuda process building %global _smp_ncpus_max 2 Summary: NVIDIA CUDA Toolkit samples binaries Name: nvidia-cuda-toolkit-samples-bins Version: 12.1.1 Release: %mkrel 1 License: Freeware Group: Development/Other Url: https://www.nvidia.com/cuda/ # to rework, to allow driver 470.xx to be used too. #Requires: nvidia-current-cuda >= %%{driver_ver} Requires: nvidia-cuda-toolkit >= %{cuda_major} Requires: openmpi BuildRequires: nvidia-cuda-toolkit-samples >= %{cuda_major} BuildRequires: nvidia-cuda-toolkit >= %{cuda_major} BuildRequires: nvidia-cuda-toolkit-devel >= %{cuda_major} BuildRequires: clang BuildRequires: freeimage-devel BuildRequires: glfw-devel BuildRequires: glslang BuildRequires: glut-devel BuildRequires: libgomp-devel BuildRequires: mesaegl-devel BuildRequires: mesaglesv2-devel BuildRequires: openmpi-devel BuildRequires: vulkan-devel BuildRequires: vulkan-headers BuildRequires: x11-server-devel ExclusiveArch: x86_64 %global __requires_exclude libcuda.so.1|devel\\(libcuda\\)|devel\\(libcuda\\(64bit\\)\\)|python\\(abi\\) %global __provides_exclude libcairo.so.2 # Avoid exposing dependecies of bundled libQt libraries and other stuff coming from nvvp and nsight %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^libQt5|^libboost_.*\\.so|^libcrypto|^libicudata|^libicuuc|^libicui18n|^libssl\\.so|^libprotobuf|^libqgif|^libqico|^libqjpeg|libqsvg|libqtga|libqtiff|libqwbmp|libqxcb|^libspawner|^libstdc++|^libudev|^libunixfile|osgi\\(org.apache.*\\)|osgi\\(org.antlr.*\\)|osgi\\(org.mozilla.*\\)|osgi\\(org.w3c.*\\)|osgi\\(org.eclipse.*\\)|osgi\\(com.ibm.*\\)|osgi\\(javaewah\\)|osgi\\(javax.*\\)|osgi\\(com.sat4.*\\)|osgi\\(com.lowagie.*\\)|osgi\\(com.sun.el\\)|osgi\\(com.jcraft.*\\) %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^libQt5|^libboost_.*\\.so|^libcrypto|^libicudata|^libicuuc|^libicui18n|^libssl\\.so|^libprotobuf|^libqgif|^libqico|^libqjpeg|libqsvg|libqtga|libqtiff|libqwbmp|libqxcb|^libspawner|^libstdc++|^libudev|^libunixfile|osgi\\(org.apache.*\\)|osgi\\(org.antlr.*\\)|osgi\\(org.mozilla.*\\)|osgi\\(org.w3c.*\\)|osgi\\(org.eclipse.*\\)|osgi\\(com.ibm.*\\)|osgi\\(javaewah\\)|osgi\\(javax.*\\)|osgi\\(com.sat4.*\\)|osgi\\(com.lowagie.*\\)|osgi\\(com.sun.el\\)|osgi\\(com.jcraft.*\\)|libcuhook\\.so %description NVIDIA® CUDA⢠is a general purpose parallel computing architecture that leverages the parallel compute engine in NVIDIA graphics processing units (GPUs) to solve many complex computational problems in a fraction of the time required on a CPU. It includes the CUDA Instruction Set Architecture (ISA) and the parallel compute engine in the GPU. To program to the CUDA⢠architecture, developers can, today, use C++, one of the most widely used high-level programming languages, which can then be run at great performance on a CUDA⢠enabled processor. Support for other languages, like FORTRAN, Python or Java, is available from third parties. This package contains the binaries of the numerous CUDA code samples (formerly CUDA SDK). %prep %setup -T -c %{name}-%{version} %build cp -pr %{_datadir}/nvidia-cuda-toolkit/samples . cd samples # # Temporarily remove offending programs not compiling with gcc-12.2 or clang-14. To be fixed! pushd Samples/0_Introduction rm -rf simpleAWBarrier popd pushd Samples/3_CUDA_Features rm -rf tf32TensorCoreGemm globalToShmemAsyncCopy dmmaTensorCoreGemm bf16TensorCoreGemm popd # #define compiler clang++ %define compiler g++ export NVCC_PREPEND_FLAGS="-allow-unsupported-compiler -Wno-deprecated-gpu-targets -ccbin %compiler" export HOST_COMPILER=%compiler %make_build CCFLAGS="-O2" HOST_COMPILER="%compiler" %install install -d -m 755 %{buildroot}%{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64/linux/release/ cp -pr samples/bin/x86_64/linux/release/* %{buildroot}%{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64/linux/release/ # remove duplicate files already included in nvidia-cuda-toolkit-samples package (cd %{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64 files=$(find . -type f -print) for i in $files; do if [ -f %{buildroot}%{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64/$i ]; then rm -f %{buildroot}%{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64/$i fi done ) %files %dir %{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64 %dir %{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64/linux %dir %{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64/linux/release %attr(755,root,root) %{_datadir}/nvidia-cuda-toolkit/samples/bin/x86_64/linux/release/* %changelog * Fri Apr 28 2023 ghibo <ghibo> 12.1.1-1.mga9 + Revision: 1955245 - Update to release 12.1.1 * Sat Mar 04 2023 ghibo <ghibo> 12.1.0-2.mga9.nonfree + Revision: 1947628 - remove duplicate files already included in nvidia-cuda-toolkit-samples package * Fri Mar 03 2023 ghibo <ghibo> 12.1.0-1.mga9.nonfree + Revision: 1946852 - Update to release 12.1.0 * Tue Feb 21 2023 ghibo <ghibo> 12.0.1-1.mga9.nonfree + Revision: 1944533 - Update to release 12.0.1 * Sat Dec 10 2022 ghibo <ghibo> 12.0.0-1.mga9.nonfree + Revision: 1920182 - Update to release 12.0.0 * Wed Nov 23 2022 ghibo <ghibo> 11.8.0-3.mga9.nonfree + Revision: 1910501 - Sync with nvidia-cuda-toolkit-11.8.0-3.mga9 * Tue Oct 04 2022 ghibo <ghibo> 11.8.0-2.mga9.nonfree + Revision: 1894837 - Don't remove volumeRender sample anymore as cuda_profiler_api.h is back - fix path for volumeRender sample - Temporarily remove offending samples volumeRender - Rebuild against CUDA 11.8 * Sat Aug 20 2022 ghibo <ghibo> 11.7.1-1.mga9.nonfree + Revision: 1878924 - temporary remove offending programs not compiling with gcc-12 o clang-14 - Update to release 11.7.1. - Don't force Requires to nvidia-current-cuda (thus allowing usage with nvidia470 drivers). + umeabot <umeabot> - Mageia 9 Mass Rebuild * Thu Nov 25 2021 ghibo <ghibo> 11.5.1-1.mga9.nonfree + Revision: 1759169 - Update to release 11.5.1 - Update to release 11.5.0 * Tue Sep 28 2021 ghibo <ghibo> 11.4.2-1.mga9.nonfree + Revision: 1746796 - Update to release 11.4.2 * Sun Jan 31 2021 ghibo <ghibo> 11.2.0-3.mga8.nonfree + Revision: 1674250 - Add openmpi to Requires * Sat Jan 02 2021 ghibo <ghibo> 11.2.0-2.mga8.nonfree + Revision: 1668239 - Re-enable cudaNvSci sample, fixed upstream * Fri Jan 01 2021 ghibo <ghibo> 11.2.0-1.mga8.nonfree + Revision: 1668009 - Update to release 11.2.0 * Tue Jun 30 2020 ghibo <ghibo> 10.2.89-1.mga8.nonfree + Revision: 1600558 - Lower compatibility level to gnu++03 - Update to release 10.2.89 * Sun May 10 2020 ghibo <ghibo> 10.1.243-2.mga8.nonfree + Revision: 1582812 - Fix building with g++ 10.x - Update to release 10.1.243 + umeabot <umeabot> - Mageia 8 Mass Rebuild * Sun May 19 2019 ghibo <ghibo> 10.1.168-1.mga7.nonfree + Revision: 1398526 - Update to release 10.1.168 * Thu Mar 21 2019 ghibo <ghibo> 10.1.105-4.mga7.nonfree + Revision: 1379441 - Remove explicit nvidia in Requires (seems no longer working after nvidia-current upgrade). - Rebuilt. * Wed Mar 20 2019 ghibo <ghibo> 10.1.105-3.mga7.nonfree + Revision: 1379188 - Add lib egl dependencies in BuildRequires * Wed Mar 20 2019 ghibo <ghibo> 10.1.105-2.mga7.nonfree + Revision: 1379157 - Add missed libgomp-devel * Tue Mar 19 2019 ghibo <ghibo> 10.1.105-1.mga7.nonfree + Revision: 1379013 - Use %%make_build - Limit number of parallel cuda process during building - imported package nvidia-cuda-toolkit-samples-bins * Fri Mar 15 2019 ghibo <ghibo> 10.1.105-1.mga7 - Initial release.