%global pkgvers 1 %global scdate0 20240328 %global sctags0 v2.8.0 %global source0 https://bitbucket.org/icl/magma.git %global sshort0 %{expand:%%{lua:print(('%{schash0}'):sub(1,8))}} %global vcu_maj 12 %global vcu_min 4 Name: magma Version: 2.8.0 Release: %{scdate0}.%{pkgvers}.cu%{vcu_maj}_%{vcu_min}%{?dist} Summary: Collection of next generation linear algebra (LA) GPU accelerated libraries License: BSD URL: http://icl.cs.utk.edu/magma/software Patch0: magma-sover.patch BuildRequires: cmake doxygen git python3 BuildRequires: openblas-devel openblas-openmp eigen3-devel %global have_cuda_gcc 1 %ifarch aarch64 %global gpu_target_arch "sm_50 sm_52 sm_53 sm_60 sm_61 sm_62 sm_70 sm_75 sm_80 sm_86 sm_90" %else %global gpu_target_arch "sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_80 sm_86 sm_90" %endif %if %{have_cuda_gcc} %if (0%{?fedora} > 34) || (0%{?rhel} > 8) BuildRequires: cuda-gcc-c++ %endif %endif BuildRequires: cuda-nvcc-%{vcu_maj}-%{vcu_min} BuildRequires: cuda-cudart-devel-%{vcu_maj}-%{vcu_min} BuildRequires: cuda-nvml-devel-%{vcu_maj}-%{vcu_min} BuildRequires: cuda-profiler-api-%{vcu_maj}-%{vcu_min} BuildRequires: libcublas-devel-%{vcu_maj}-%{vcu_min} BuildRequires: libcusparse-devel-%{vcu_maj}-%{vcu_min} BuildRequires: libnccl-devel libnccl Requires: libcublas-%{vcu_maj}-%{vcu_min} Requires: libcusparse-%{vcu_maj}-%{vcu_min} %define __cmake_in_source_build 1 %description collection of next generation linear algebra (LA) GPU accelerated libraries %package devel Summary: Development files for the library Requires: %{name} = %{version}-%{release} %description devel This package contains the development library and header files. %prep %setup -T -c -n %{name} git clone --depth 1 -n -b %{sctags0} %{source0} . git reset --hard %{sctags0} git log --format=fuller %patch0 -p0 -b .sover~ %build # disable testing sed -i '/testing/d' Makefile.internal sed -i '/include_directories( testing )/d' CMakeLists.txt # python3 for f in `find . -name '*.py'`; do sed -i -e 's|#!/usr/bin/env python|#!/usr/bin/python3|' $f done # set all cuda arch echo "FORT=true" > make.inc echo "GPU_TARGET=%{gpu_target_arch}" >> make.inc # generate make generate mkdir -p build pushd build export LD_LIBRARY_PATH="/usr/local/cuda-%{vcu_maj}.%{vcu_min}/%{_lib}/" %cmake .. \ -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_VERBOSE_MAKEFILE=OFF \ -DCMAKE_CXX_STANDARD=14 \ -DCMAKE_CXX_FLAGS="-I/usr/local/cuda-%{vcu_maj}.%{vcu_min}/include" \ -DBUILD_SHARED_LIBS=ON \ -DUSE_FORTRAN=OFF \ -DMAGMA_ENABLE_CUDA=ON \ -DCUDA_GENERATION="Auto" \ -DCUDA_PROPAGATE_HOST_FLAGS=OFF \ -DCUDA_CFLAGS="-fPIC -Wno-deprecated-gpu-targets -I/usr/local/cuda-%{vcu_maj}.%{vcu_min}/include --fatbin-options --compress-all" \ -DGPU_TARGET=%{gpu_target_arch} \ -DCMAKE_CUDA_PROPAGATE_HOST_FLAGS=OFF \ -DCMAKE_CUDA_COMPILER=/usr/local/cuda-%{vcu_maj}.%{vcu_min}/bin/nvcc \ -DCMAKE_CUDA_FLAGS="-fPIC -Wno-deprecated-gpu-targets -I/usr/local/cuda-%{vcu_maj}.%{vcu_min}/include --fatbin-options --compress-all" \ %if %{have_cuda_gcc} %if (0%{?fedora} > 34) || (0%{?rhel} > 8) -DCMAKE_CUDA_HOST_COMPILER="%{_bindir}/cuda-gcc" \ %endif %endif -DLAPACK_LIBRARIES="%{_libdir}/libopenblaso.so" make %{?_smp_mflags} popd pushd docs doxygen popd %install pushd build make install DESTDIR=%{buildroot} INSTALL="install -p" CPPROG="cp -p" popd mv -f %{buildroot}/usr/lib %{buildroot}/%{_libdir} %ldconfig_scriptlets %files %doc README %license COPYRIGHT %{_libdir}/lib*.so.* %files devel %doc docs/html %{_includedir}/* %{_libdir}/lib*.so %{_libdir}/pkgconfig/%{name}.pc %changelog * Sun Dec 23 2018 Balint Cristian - git update releases