#!/bin/bash -e set -eo pipefail CURRENT_DIR="$( dirname -- "$0"; )"; ROCPROFV2_DIR=$(dirname -- $(realpath ${BASH_SOURCE[0]})); ROCM_DIR=$( dirname -- "${ROCPROFV2_DIR}"; ) export HSA_TOOLS_LIB=${ROCM_DIR}/lib/librocprofiler-sdk.so.0 # Define color code GREEN='\033[0;32m' GREY='\033[0;90m' RESET='\033[0m' usage() { echo -e "${RESET}ROCProfilerV3 Run Script Usage:" echo -e "${GREEN}-h | --help ${RESET} For showing this message" echo -e "${GREEN}--hsa-trace ${RESET} For Collecting HSA API Traces" echo -e "${GREEN}--kernel-trace ${RESET} For Collecting Kernel Dispatch Traces" echo -e "${GREEN}-o | --output-file ${RESET} For the output file name" echo -e "\t#${GREY} usage e.g:(with current dir): rocprofv3 --hip-trace -o " echo -e "\t#${GREY} usage e.g:(with custom dir): rocprofv3 --hip-trace -d -o ${RESET}\n" echo -e "${GREEN}-d | --output-directory ${RESET} For adding output path where the output files will be saved" echo -e "\t#${GREY} usage e.g:(with custom dir): rocprofv3 --hip-trace -d ${RESET}\n" exit 1 } if [ -z "$1" ]; then usage exit 1 fi : ${ROCPROFILER_OUTPUT_PATH:="."} while [ 1 ]; do if [[ "$1" == "-h" || "$1" == "--help" ]]; then usage exit 1 elif [[ "$1" == "-o" || "$1" == "--output-file-name" ]]; then if [ $2 ]; then export ROCPROFILER_OUTPUT_FILE_NAME=$2 else usage exit 1 fi shift shift elif [[ "$1" == "-d" || "$1" == "--output-directory" ]]; then if [ $2 ]; then ROCPROFILER_OUTPUT_PATH=$2 else usage exit 1 fi shift shift elif [ "$1" == "--hsa-trace" ]; then export ROCPROFILER_HSA_API_TRACE=1 shift elif [ "$1" == "--kernel-trace" ]; then export ROCPROFILER_KERNEL_TRACE=1 shift elif [ "$1" == "--" ]; then shift break elif [[ "$1" == "-"* || "$1" == "--"* ]]; then echo -e "Wrong option \"$1\", Please use the following options:\n" usage exit 1 else break fi done export ROCPROFILER_OUTPUT_PATH ROCP_TOOL_LIBRARIES=${ROCM_DIR}/lib/rocprofiler-sdk/librocprofiler-sdk-tool.so "${@}"