#!/usr/bin/make -f export CXX=/usr/bin/hipcc export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CXXFLAGS_MAINT_PREPEND = -gz export DEB_LDFLAGS_MAINT_PREPEND = -v export DPKG_GENSYMBOLS_CHECK_LEVEL = 4 export VERBOSE=1 #export AMD_LOG_LEVEL=4 # filter incompatible options from affecting device code CXXFLAGS := $(subst -fstack-protector-strong,-Xarch_host -fstack-protector-strong,$(CXXFLAGS)) CXXFLAGS := $(subst -fcf-protection,-Xarch_host -fcf-protection,$(CXXFLAGS)) # Improved link performance from LLVM 22 (lld), together with # rccl-launchpad-build-fix.patch, allows building the full set of supported # ISAs of interest i.e. resolute/stonking target list minus gfx1151 (unsupported upstream) plus gfx950 ROCM_ISAS := "gfx908;gfx90a;gfx942;gfx950;gfx1030;gfx1100;gfx1101;gfx1200;gfx1201" CMAKE_FLAGS = \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ -DGPU_TARGETS=$(ROCM_ISAS) \ -DROCM_SYMLINK_LIBS=OFF \ -DEXPLICIT_ROCM_VERSION=$(shell dpkg-parsechangelog -S Version | sed 's/[+-].*//') \ -DRCCL_ROCPROFILER_REGISTER=OFF \ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF ifeq (,$(filter noinsttest,$(DEB_BUILD_PROFILES))) CMAKE_FLAGS += -DBUILD_TESTS=ON endif %: dh $@ -Scmake override_dh_auto_configure-arch: dh_auto_configure -- $(CMAKE_FLAGS) override_dh_auto_install-arch: dh_auto_install LD_LIBRARY_PATH=debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) \ help2man --no-discard-stderr -S'rcclras' -n'RCCL RAS client' -m'rcclras' -N \ -o debian/rcclras.1 debian/tmp/usr/bin/rcclras sed -i -e 's/Debian/rcclras/g' -e 's/DEBIAN/rccl/g' debian/rcclras.1 override_dh_auto_test-arch: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) set -e \ ; if [ -r /dev/kfd ] \ ; then \ LD_LIBRARY_PATH=obj-$(DEB_HOST_MULTIARCH) \ RCCL_ENABLE_SIGNALHANDLER=1 \ NCCL_DEBUG=INFO \ HSA_FORCE_FINE_GRAIN_PCIE=1 \ obj-$(DEB_HOST_MULTIARCH)/test/UnitTests \ ; 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))) rocm-docs-build rm -rf build/html/_static/fonts rm -rf build/html/_static/vendor mv build/html html endif override_dh_auto_test-indep: : override_dh_auto_install-indep: : # dwz doesn't fully support DWARF-5 yet, see #1016936 override_dh_dwz: : override_dh_gencontrol: dh_gencontrol -- -Vrocm:GPU-Architecture=$(subst ;, ,$(ROCM_ISAS))