fe5d074375
* Adding tools support * cmake formatting (cmake-format) (#227) Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com> * Checking to do rebase * Adding rocprofv2 script * cmake formatting (cmake-format) (#229) Co-authored-by: bgopesh <bgopesh@users.noreply.github.com> * Fixing build for the tool * Removing the requirement for rocm_version * Update rocprofiler_utilities.cmake * C++ filesystem fixes - added source/lib/common/filesystem.hpp - support older compilers which have <experimental/filesystem> and do not have <filesystem> - added samples/common/filesystem.hpp - samples now depend on "common" library which provides the correct filesystem header - renamed rocprofiler-stdcxxfs interface target to rocprofiler-cxx-filesystem - support old LLVM in addition to GNU - fix bin/rocprof/rocprof.cpp - was using VLA * Fix rocprofiler-drm include directories - OpenSUSE only has include/libdrm/drm.h (no include/drm/drm.h) * Tools fixes * Fix for the tools * Fix rocprofv2 script * Fixing Filesystem Issues * source formatting (clang-format v11) (#234) Co-authored-by: ammarwa <ammarwa@users.noreply.github.com> * Vlaindic/pc sampling api update (#235) * pcs: updating PC sampling API * source formatting (clang-format v11) (#232) Co-authored-by: vlaindic <vlaindic@users.noreply.github.com> --------- Co-authored-by: vlaindic <vladimir.indic@amd.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: vlaindic <vlaindic@users.noreply.github.com> * Vlaindic/pc sampling api update for ammar branch (#244) *Updating the documentation inside pc_sampling.h --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: vlaindic <vlaindic@users.noreply.github.com> * pcs: use @p in front of params * pcs: documenting struct fields updated * Fixing PC Sampling Documentation issues * Fixing PC Sampling Documentation * Relocated tools directory to source/lib/rocprofiler-tool * Fixes/updates to rocprofiler-tool - updated CMake - Fixed miscellaneous issues in the code (VLAs, etc.) - Updated rocprofv2 to reflect some minor env variables changes in rocprofiler-tool - Fixed clang-tidy warnings * Update lib/rocprofiler-tool/CMakeLists.txt - link to atomic library * Add $ORIGIN/.. RUNPATH to rocprofiler-tool * Adding readme file for tools * Renaming the tools readme file * Update ReadMe.md * Update ReadMe.md * Documentation updates - overview and explanation of design and concepts * Fix lib/rocprofiler-tool/README.md - delete ReadMe.md * Hacks for build * Update Filesystem * cmake formatting (cmake-format) (#248) Co-authored-by: ammarwa <ammarwa@users.noreply.github.com> * source formatting (clang-format v11) (#249) Co-authored-by: ammarwa <ammarwa@users.noreply.github.com> * source formatting (clang-format v11) (#250) Co-authored-by: ammarwa <ammarwa@users.noreply.github.com> * Addressing review comments on the tool readme file * Revert "Hacks for build" This reverts commit d6688cb3d1226c46fc97e37ced889a5b0d180940. * Fixes for GCC 7.5 compiler in OpenSUSE 15.4 * Update lib/rocprofiler-tool/CMakeLists.txt - link to AQL profile library * Fix lib/rocprofiler-tool/README.md - fix markdown * Fix lib/rocprofiler-tool - fix usage of hsa_ven_amd_loader_query_host_address * Fix unused variable warnings - byproduct of variables only used in assert statements * Update docs - update about.md - more "Important Changes" section here - update tool_library_overview.md - extend "Tool Library Design" section - write "Tool Initialization" section - write "Tool Finalization" section * Add ghc::filesystem submodule * Implement usage of ghc::filesystem * Add ROCPROFILER_BUILD_GHC_FS option - option to use external/filesystem (ghc) * Update samples/counter-collection - compile flags - common library - fixes for warnings * Update tests/kernel-tracing/CMakeLists.txt - change install location of kernel-tracing-test-tool and install rpath * Update samples/common/CMakeLists.txt - compile features requiring C++17 * Update lib/rocprofiler-tool/tool.cpp - remove include <filesystem> - comment out unused variable - remove unused functions - move some functions into anonymous namespace --------- Co-authored-by: Sriraksha Nagaraj <Sriraksha.Nagaraj@amd.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com> Co-authored-by: gobhardw <gopesh.bhardwaj@amd.com> Co-authored-by: bgopesh <bgopesh@users.noreply.github.com> Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com> Co-authored-by: ammarwa <ammarwa@users.noreply.github.com> Co-authored-by: vlaindic <vladimir.indic@amd.com> Co-authored-by: vlaindic <vlaindic@users.noreply.github.com> Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com> Co-authored-by: Benjamin Welton <bewelton@amd.com> Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
84 wiersze
2.4 KiB
Bash
Executable File
84 wiersze
2.4 KiB
Bash
Executable File
#!/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/librocprofiler64.so.2
|
|
|
|
# Define color code
|
|
GREEN='\033[0;32m'
|
|
GREY='\033[0;90m'
|
|
RESET='\033[0m'
|
|
|
|
usage() {
|
|
echo -e "${RESET}ROCProfilerV2 Run Script Usage:"
|
|
echo -e "${GREEN}-h | --help ${RESET} For showing this message"
|
|
echo -e "${GREEN}--hsa-api ${RESET} For Collecting HSA API Traces"
|
|
echo -e "${GREEN}--hsa-activity | --hsa-trace ${RESET} For Collecting HSA API Activities 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): rocprofv2 --hip-trace -o <file_name> <executable>"
|
|
echo -e "\t#${GREY} usage e.g:(with custom dir): rocprofv2 --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): rocprofv2 --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-api" ]; then
|
|
export ROCPROFILER_HSA_API_TRACE=1
|
|
shift
|
|
elif [[ "$1" == "--hsa-activity" || "$1" == "--hsa-trace" ]]; then
|
|
export ROCPROFILER_HSA_API_TRACE=1
|
|
export ROCPROFILER_HSA_ACTIVITY_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/librocprofiler-tool.so $*
|