7d117870d8
* Fix rocprof and rocprofiler-sdk-tool - removed redundant options for rocprofv3 - fixed extension of CSV files - fixed memory error (segfault) when tracing kernels - fixed constructor of output_file - using string after move - output_file writes csv header - implemented tool_fini - flush buffer and stop context * Minor updates to rocprofv3 * Update source/bin/CMakeLists.txt - fix rocprof configure output location
79 라인
2.2 KiB
Bash
실행 파일
79 라인
2.2 KiB
Bash
실행 파일
#!/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 <file_name> <executable>"
|
|
echo -e "\t#${GREY} usage e.g:(with custom dir): rocprofv3 --hip-trace -d <out_dir> -o <file_name> <executable>${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 <out_dir> <executable>${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 "${@}"
|