#!/bin/bash set -ex source "$(dirname "${BASH_SOURCE[0]}")/compute_utils.sh" PATH=${ROCM_PATH}/bin:$PATH set_component_src rocALUTION build_rocalution() { echo "Start build" if [ "${ENABLE_STATIC_BUILDS}" == "true" ]; then ack_and_skip_static fi cd $COMPONENT_SRC CXX=$(set_build_variables __G_++__) if [ "${ENABLE_ADDRESS_SANITIZER}" == "true" ]; then set_asan_env_vars set_address_sanitizer_on fi echo "C compiler: $CC" echo "CXX compiler: $CXX" mkdir -p "$BUILD_DIR" && cd "$BUILD_DIR" init_rocm_common_cmake_params cmake \ -DSUPPORT_HIP=ON \ ${LAUNCHER_FLAGS} \ "${rocm_math_common_cmake_params[@]}" \ -DBUILD_CLIENTS_SAMPLES=ON \ -DBUILD_CLIENTS_TESTS=ON \ -DBUILD_CLIENTS_BENCHMARKS=ON \ -DCMAKE_MODULE_PATH="${ROCM_PATH}/lib/cmake/hip;${ROCM_PATH}/hip/cmake" \ -DBUILD_ADDRESS_SANITIZER="${ADDRESS_SANITIZER}" \ "$COMPONENT_SRC" cmake --build "$BUILD_DIR" -- -j${PROC} cmake --build "$BUILD_DIR" -- install cmake --build "$BUILD_DIR" -- package rm -rf _CPack_Packages/ && find -name '*.o' -delete copy_if "${PKGTYPE}" "${CPACKGEN:-"DEB;RPM"}" "${PACKAGE_DIR}" "${BUILD_DIR}"/*."${PKGTYPE}" show_build_cache_stats } clean_rocalution() { echo "Cleaning rocALUTION build directory: ${BUILD_DIR} ${PACKAGE_DIR}" rm -rf "$BUILD_DIR" "$PACKAGE_DIR" echo "Done!" } stage2_command_args "$@" case $TARGET in build) build_rocalution; build_wheel ;; outdir) print_output_directory ;; clean) clean_rocalution ;; *) die "Invalid target $TARGET" ;; esac