#!/usr/bin/make -f export CXX=hipcc export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto export DEB_CXXFLAGS_MAINT_PREPEND = -gz export VERBOSE=1 export TENSILE_ROCM_ASSEMBLER_PATH=/usr/bin/clang++-17 export TENSILE_ROCM_OFFLOAD_BUNDLER_PATH=/usr/bin/clang-offload-bundler-17 export PATH:=$(PATH):/usr/lib/llvm-17/bin #export AMD_LOG_LEVEL=4 #--merge-architectures --no-lazy-library-loading DEBUG_FLAGS=-DCMAKE_FIND_DEBUG_MODE=ON DEBUG_FLAGS= CXXFLAGS := $(subst -fstack-protector-strong,-Xarch_host -fstack-protector-strong,$(CXXFLAGS)) CXXFLAGS := $(subst -fcf-protection,-Xarch_host -fcf-protection,$(CXXFLAGS)) # TODO: Switch out the internal rocblas version (4.4.0) for librocblas4 # Not as simple as for the test data, as its used by many CMake targets CMAKE_FLAGS = \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DROCM_SYMLINK_LIBS=OFF \ -DBUILD_CLIENTS_BENCHMARKS=ON \ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF \ -DAMDGPU_TARGETS="$(shell rocm-target-arch --for-build --sep ';')" \ -DBUILD_WITH_HIPBLASLT=OFF \ -DROCBLAS_TENSILE_LIBRARY_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/rocblas/4.4.0 \ -DINSTALL_TEST_DATA_DIR=/usr/share/librocblas4-tests/data \ -DTensile_COMPILER=hipcc \ -DTensile_TEST_LOCAL_PATH="../tensile" \ -DTensile_ROOT="$(CURDIR)/tensile/Tensile" \ -DTensile_LOGIC=asm_full \ -DTensile_LIBRARY_FORMAT=msgpack \ -DTensile_LAZY_LIBRARY_LOADING=OFF \ -DTensile_SEPARATE_ARCHITECTURES=OFF \ $(DEBUG_FLAGS) \ -DBUILD_WITH_PIP=false \ -DOptions=--ignore-asm-cap-cache \ -DRUN_HEADER_TESTING=OFF ifeq (,$(filter nocheck,$(DEB_BUILD_PROFILES))) CMAKE_FLAGS += \ -DBUILD_CLIENTS_TESTS=ON endif %: dh $@ override_dh_auto_configure-arch: dh_auto_configure -- $(CMAKE_FLAGS) # strip cannot handle code object files override_dh_strip-arch: dh_strip --exclude=.hsaco --exclude=.co override_dh_dwz-arch: : # note: openblas crashes in dot for complex values with M=128, N=800000, incx=-3, incy=-3 override_dh_auto_test-arch: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) set -e \ ; if [ -r /dev/kfd ] \ ; then obj-$(DEB_HOST_GNU_TYPE)/clients/staging/rocblas-test \ --gtest_filter="*checkin*:-*known_bug*" \ ; else echo "W: /dev/kfd unreadable: no available AMD GPU." \ ; echo "W: tests skipped." \ ; fi endif override_dh_auto_configure-indep: : override_dh_auto_build-indep: ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS))) # Docs will be available when rocm_docs when rocm_docs package will be available # See (ITP - #1099584) https://bugs.debian.org/1099584 export http_proxy=127.0.0.1:9 ; \ export https_proxy=127.0.0.1:9 ; \ ROCM_DOCS_REMOTE_DETAILS=http://localhost,local \ latest_version= \ release_candidate= \ sphinx-build -b html docs html endif override_dh_auto_test-indep: : override_dh_auto_install-indep: : override_dh_gencontrol: dh_gencontrol -- -Vrocm:GPU-Architecture="$(shell rocm-target-arch --for-build)"