* rocprofv3: LD_PRELOAD for signal and sigaction - wrappers around `signal` and `sigaction` to prevent applications which install signal handlers to replace the rocprofv3 signal handlers - minor tweaks to buffer sizes (use page_size instead of KiB) * [DO NOT COMMIT] extra logging * Switch git submodule url for perfetto - use GitHub URL as this is more accessible * Update ring_buffer<Tp> - account for alignment padding * Update buffered_output - track number of bytes stored - add nullptr checks * Update tmp_file_buffer - track number of bytes - read_tmp_file does not create tmp file if it does not already exist * Update tmp_file - add exists member function for checking whether temporary file already exists - tweak remove() implementation * Update config.hpp - add option to enable/disable signal handlers - add option for minimum_output_bytes * Make signal, sigaction functions visible * rocprofv3 tool updates - chained signals - override the signal handler(s) installed by the application - improve cleanup of temporary files - support minimum output bytes * Add commandline support * fixing test * minor fix * minor fix * fix clang issue * fix * Adding docs * review comments * review changes * review * YUV pulldown additions to rocdecode * More rocdecode changes --------- Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com> Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com> Co-authored-by: Benjamin Welton <bewelton@amd.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.