* Using semaphore to sync with all peer processes in finalization stage [rocprofv3] Implement synchronization using POSIX semaphore in finalization * clang format code * clang 11 format code * Add process sync option for rocprofv3 * Default value of process sync is false * Update source/lib/rocprofiler-sdk-tool/tool.cpp Apply suggestion by Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * update according to comments * add new line to helper.hpp --------- Co-authored-by: Huanran Wang <huanrwan@amd.com> Co-authored-by: Huanran Wang <huanran.wang@amd.com> Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
ROCProfiler Tool Library
This is a tool that gets registered with the rocprofiler to obtain its services. The tool is built as a shared library and is named as rocprofiler-sdk-tool. The library can be preloaded using LD_PRELOAD to facilitate its registration as a tool with the rocprofiler.
The user through rocprofv3 script can select the options to obtain tracing and counter collection services from the rocprofiler.
Currently, this tool supports kernel trace and the hsa-api trace. The tool uses the following environment variables to read the user choices.
ROCPROF_KERNEL_TRACE=1to obtain kernel traceROCPROF_HSA_API_TRACE=1to obtain hsa api trace
The user can also specify the output filename and output file path to which the traces are written to.
ROCPROF_OUTPUT_PATH=<directory>to set the output directory pathROCPROF_OUTPUT_FILE_NAME=<filename-without-extension>to set the output file name
CHANGELOG
The tool design is similar to its earlier versions. However, not all features that the earlier versions supported are supported by this tool.