Skip to content
Snippets Groups Projects
Commit a1e5154a authored by misaka00251's avatar misaka00251
Browse files

Enable tensile

parent 518d15ae
Branches master
No related tags found
No related merge requests found
......@@ -7,9 +7,6 @@
# hipcc does not support some clang flags
%global build_cxxflags %(echo %{optflags} | sed -e 's/-fstack-protector-strong/-Xarch_host -fstack-protector-strong/' -e 's/-fcf-protection/-Xarch_host -fcf-protection/')
# $gpu will be evaluated in the loops below
%global _vpath_builddir %{_vendor}-%{_target_os}-build-${gpu}
%bcond_with debug
%if %{with debug}
%global build_type DEBUG
......@@ -33,7 +30,7 @@
%endif
# Tensile blocks general enablement of rocBLAS.
%bcond_with tensile
%bcond_without tensile
%if %{with tensile}
%global build_tensile ON
%else
......@@ -42,10 +39,17 @@
# Why Build ID is 8 bytes
%global buildid 1
# or just
#global debug_package %{nil}
# Compression type and level for source/binary package payloads.
# "w7T0.xzdio" xz level 7 using %%{getncpus} threads
%define _source_payload w7T0.xzdio
%define _binary_payload w7T0.xzdio
Name: rocblas
Version: %{rocm_version}
Release: 1
Release: 2
Summary: BLAS implementation for ROCm
Url: https://github.com/ROCmSoftwarePlatform/%{upstreamname}
License: MIT AND BSD-3-Clause
......@@ -62,7 +66,6 @@ BuildRequires: rocm-compilersupport-macros
BuildRequires: rocm-hip-devel
BuildRequires: rocm-runtime-devel
BuildRequires: rocm-rpm-macros
BuildRequires: rocm-rpm-macros-modules
%if %{with tensile}
BuildRequires: msgpack-devel
......@@ -82,7 +85,7 @@ BuildRequires: rocminfo
BuildRequires: rocm-smi-devel
%endif
Requires: rocm-rpm-macros-modules
Provides: rocblas = %{version}-%{release}
ExclusiveArch: x86_64 riscv64
......@@ -111,6 +114,10 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%autosetup -p1 -n %{upstreamname}-rocm-%{version}
sed -i -e 's@set( BLAS_LIBRARY "blas" )@set( BLAS_LIBRARY "cblas" )@' clients/CMakeLists.txt
sed -i -e 's@target_link_libraries( rocblas-test PRIVATE ${BLAS_LIBRARY} ${GTEST_BOTH_LIBRARIES} roc::rocblas )@target_link_libraries( rocblas-test PRIVATE cblas ${GTEST_BOTH_LIBRARIES} roc::rocblas )@' clients/gtest/CMakeLists.txt
# no git in this build
sed -i -e 's@find_package(Git REQUIRED)@find_package(Git)@' library/CMakeLists.txt
%build
# With compat llvm the system clang is wrong
......@@ -120,50 +127,43 @@ export TENSILE_ROCM_OFFLOAD_BUNDLER_PATH=${CLANG_PATH}/clang-offload-bundler
# Work around problem with koji's ld
export HIPCC_LINK_FLAGS_APPEND=-fuse-ld=lld
for gpu in %{rocm_gpu_list}
do
module load rocm/$gpu
# We can't compile all the targets at once
export ROCM_GPUS='gfx1030;gfx1100;gfx1101;gfx1102'
%cmake \
-DCMAKE_CXX_COMPILER=hipcc \
-DCMAKE_C_COMPILER=hipcc \
-DCMAKE_LINKER=%rocmllvm_bindir/ld.lld \
-DCMAKE_AR=%rocmllvm_bindir/llvm-ar \
-DCMAKE_RANLIB=%rocmllvm_bindir/llvm-ranlib \
-DCMAKE_BUILD_TYPE=%{build_type} \
-DCMAKE_PREFIX_PATH=%{rocmllvm_cmakedir}/.. \
-DCMAKE_SKIP_RPATH=ON \
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF \
-DROCM_SYMLINK_LIBS=OFF \
-DHIP_PLATFORM=amd \
-DAMDGPU_TARGETS=${ROCM_GPUS} \
-DCMAKE_INSTALL_LIBDIR=$ROCM_LIB \
-DCMAKE_INSTALL_BINDIR=$ROCM_BIN \
-DBUILD_CLIENTS_BENCHMARKS=%{build_test} \
-DBUILD_CLIENTS_TESTS=%{build_test} \
-DBUILD_WITH_TENSILE=%{build_tensile} \
-DBUILD_CLIENTS_TESTS_OPENMP=OFF \
-DBUILD_FORTRAN_CLIENTS=OFF \
-DBLAS_LIBRARY=cblas \
-DBUILD_OFFLOAD_COMPRESS=%{build_compress} \
-DBUILD_WITH_HIPBLASLT=OFF \
-DTensile_COMPILER=hipcc \
# We can't compile all the targets at once
export ROCM_GPUS='gfx1030;gfx1100;gfx1101;gfx1102'
%cmake \
-DCMAKE_CXX_COMPILER=hipcc \
-DCMAKE_C_COMPILER=hipcc \
-DCMAKE_LINKER=%rocmllvm_bindir/ld.lld \
-DCMAKE_AR=%rocmllvm_bindir/llvm-ar \
-DCMAKE_RANLIB=%rocmllvm_bindir/llvm-ranlib \
-DCMAKE_BUILD_TYPE=%{build_type} \
-DCMAKE_PREFIX_PATH=%{rocmllvm_cmakedir}/.. \
-DCMAKE_SKIP_RPATH=ON \
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF \
-DROCM_SYMLINK_LIBS=OFF \
-DHIP_PLATFORM=amd \
-DAMDGPU_TARGETS=${ROCM_GPUS} \
-DCMAKE_INSTALL_LIBDIR=%_libdir \
-DBUILD_CLIENTS_BENCHMARKS=%{build_test} \
-DBUILD_CLIENTS_TESTS=%{build_test} \
-DBUILD_CLIENTS_TESTS_OPENMP=OFF \
-DBUILD_FORTRAN_CLIENTS=OFF \
-DBLAS_LIBRARY=cblas \
-DBUILD_OFFLOAD_COMPRESS=%{build_compress} \
-DBUILD_WITH_HIPBLASLT=OFF \
-DTensile_COMPILER=hipcc \
-DBUILD_WITH_TENSILE=%{build_tensile} \
-DTensile_DIR=${TP}/cmake \
%if %{buildid}
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--build-id=sha1" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--build-id=sha1" \
%endif
-DBUILD_WITH_PIP=OFF
-DBUILD_WITH_PIP=OFF
%cmake_build
%cmake_build
module purge
done
%install
for gpu in %{rocm_gpu_list}
do
%cmake_install
done
%cmake_install
echo s@%{buildroot}@@ > br.sed
find %{buildroot}%{_libdir} -name '*.so.*.[0-9]' | sed -f br.sed > %{name}.files
......@@ -196,6 +196,9 @@ fi
%endif
%changelog
* Fri Feb 21 2025 misaka00251 <liuxin@iscas.ac.cn> - 6.3.0-2
- Enable tensile
* Wed Dec 18 2024 misaka00251 <liuxin@iscas.ac.cn> - 6.3.0-1
- Update to 6.3.0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment