#! /bin/bash set -eou pipefail if ! module is-loaded rocm; then echo module load rocm exit 1 fi echo "===================" echo "= HSA_XNACK unset =" echo "===================" unset HSA_XNACK rocminfo | grep xnack echo "===================" echo "= HSA_XNACK=1 =" echo "===================" export HSA_XNACK=1 rocminfo | grep xnack echo "===================" echo "= HSA_XNACK=0 =" echo "===================" export HSA_XNACK=0 rocminfo | grep xnack set +eou pipefail for arch in "" "--offload-arch=gfx942:xnack+" "--offload-arch=gfx942:xnack-" "--offload-arch=gfx942"; do rm -rf "build-$arch" cmake -S . -B "build-$arch" -DCMAKE_CXX_COMPILER=hipcc -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-Wall -Wextra $arch" VERBOSE=1 make -C "build-$arch" echo "================================" echo "= HSA_XNACK unset $arch =" echo "================================" unset HSA_XNACK ctest --test-dir "build-$arch" "build-$arch"/can_map_host_memory "build-$arch"/gcn_arch_name echo "================================" echo "= HSA_XNACK=1 $arch =" echo "================================" export HSA_XNACK=1 ctest --test-dir "build-$arch" "build-$arch"/can_map_host_memory "build-$arch"/gcn_arch_name echo "================================" echo "= HSA_XNACK=0 $arch =" echo "================================" export HSA_XNACK=0 ctest --test-dir "build-$arch" "build-$arch"/can_map_host_memory "build-$arch"/gcn_arch_name done;