This test verifies that callback argument matches the callback function
as a race condition while setting and reading the pair could result in
mismatched arguments.
Change-Id: I2fe49d98d19bb780b6956ea6718762cfa0de93f8
[ROCm/roctracer commit: 602c67ee00]
Intercept the first call to hsa_iterate_agents in order to number them.
The index assigned to agents will be used by a future commit.
Change-Id: I8db365f8fe913b6cde16a4dccb9bf09600846521
[ROCm/roctracer commit: 84ad727c38]
Remove declarations that are not meant to be part of the public API.
Change-Id: I47d9e83bf41bdb2f7ac25a1507200b51c616049b
[ROCm/roctracer commit: 05d3cf3529]
Move the HSA intercept to the OnLoad function, so that it is available
as soon as the ROCR is loaded.
Layer the HSA API wrappers on top of the basic HSA activity intercept.
Change-Id: Ie636d59755543cda181e76ec29f0b55081136b63
[ROCm/roctracer commit: e282a82e29]
This commit is for code cleanup and for optimizing kernel name search
in the API callback, making sure to get the kernel name accurately
for the hip functions that have any kernel names
Change-Id: Ie9ab917c895748bfb8eee9ddfcbcad81a0b9a9fa
[ROCm/roctracer commit: 054456bcf8]
Making sure not to count duplicates for load_unload_reload_trace and
fixed the ignore-count option in check_trace.py.
Change-Id: I9e674aa624ec3b473bb7c6cc95260e240204627f
[ROCm/roctracer commit: c588c49743]
When separate debug info is requested, the test package
generation fails because /usr/bin/objcopy does not understand
the HSA code object format. We need a workaround to get
past this issue.
Change-Id: I9a307fcf532ce8219a9301850aae972303d19990
[ROCm/roctracer commit: c2ecd15197]
When ROCP_TRUNCATE_NAMES is not set, getenv returns NULL and std::atoi
crashes. Check that getenv returns a non-NULL string before calling
std::atoi.
Change-Id: Ie479a481f8d23f034b425d14e3cfefb3d62c84e8
[ROCm/roctracer commit: a7cac4b4c9]
Split the public and private HSA profiler/tracer interfaces. Only the
public interface should be exposed in include/roctracer.
Change-Id: I7e4424cd90023693350c31e6b02caca8c984ba84
[ROCm/roctracer commit: 96bcac0f47]
Added a function to truncate the kernel names in case of hip trace.
Change-Id: Ida769679ccc38432538ce74c11c395d6a930018e
[ROCm/roctracer commit: e3db2beca7]
Adding roctracer_timestamp_t to be unified type for every timestamp in the roctracer project
Change-Id: I22f18c303bd2d02d1e6079b76da6b128eb384fdd
[ROCm/roctracer commit: 581c37502f]
The roctracer-tests package contains all the roctracer test binaries
and scripts needed to run the testsuite outside of the build directory.
Change-Id: Id11f862fb4bdb2425d68f455074172c38814ec92
[ROCm/roctracer commit: 3adc56bd9b]
activity.h and rocprofiler.h are already exposed in rocprofiler
through the rocm installation directory.
Change-Id: Ia383d3818fd51452390d2217d82503af4d91aac6
[ROCm/roctracer commit: ee1b7e056e]
The ROCR now detects already loaded tool libraries and calls OnLoad/
OnUnload in the order specified with HSA_AMD_TOOL_ORDER.
It is no longer necessary to set the HSA_TOOLS_LIB environment variable
to load the roctracer API. The roctracer tool library should be
pre-loaded with LD_PRELOAD.
Change-Id: I6de1b1bd4f93caa08d3554aad2376d242c74fb7e
[ROCm/roctracer commit: d32cf96cd4]
Enabling the new methodology of ROCP_STATS_OPT of getting HIP activities while the application is running
Change-Id: I94b3311b0740db804643dba0e4f77c1f9de0319b
[ROCm/roctracer commit: 7cbee920b7]
In file included from roctracer/src/roctracer/tracker.h:24,
from roctracer/src/roctracer/roctracer.cpp:44:
/opt/rocm/hsa/include/hsa/amd_hsa_signal.h:26:246: note: ‘#pragma message: amd_hsa_signal.h has moved to ...’
26 | ssage("amd_hsa_signal.h has moved to ...")
| ^
Change-Id: I38d151d836688083a4fdb0e86a04fc40923a369f
[ROCm/roctracer commit: 44dbb56fce]
The same information can be generated from the hcc_ops_trace.txt file,
so in a later commit, will add a stage to the tblextr.py script to
generate the .csv files when ROCP_STATS_OPT=1.
Change-Id: I3d1575e096bedf98c66068d9a4ca141421e5bb9d
[ROCm/roctracer commit: 836bab37d3]
Some records may need to point to data with the same lifetime as the
records themselves. One solution is to store the data at the end of
the memory pool buffer. Records in the buffer grow up, and the data
grows down. When the buffer is flushed both records and data are
recycled.
Change-Id: I278fa84478236bf895f7c2d152d47d4256987392
[ROCm/roctracer commit: ef3b2a8aa8]
Prevents cmake errors for the HIP targets such as:
HIP_ARCHITECTURES is empty for target "MatrixTranspose".
Change-Id: I352916f6dccd22576e8b1482a41e2099b6d8a8d9
[ROCm/roctracer commit: b63427d694]
Only the roctracer API is using exceptions to return error codes to the
client application.
Change-Id: I92e5bd1a044dbde0c80dd9ef87e606550c3ff790
[ROCm/roctracer commit: 1e8e53da1d]
The CallbackTable utility is shared by multiple APIs, so move it out
of the roctracer directory.
Change-Id: Ie2378dca8a4f90bd334dbe2d39ced37c9e790ed0
[ROCm/roctracer commit: c0cbcdff1d]
The roctracer_load, roctracer_unload, and roctrace_flush_buf functions
are not part of the ROCtracer API, and should not be exposed in the API
header file, but keep the functions in the library for backward
compatibility.
Add src/roctracer/backward_compat.cpp to implement retired functions.
Add test/app/backward_compat_test.cpp to test that the retired functions
are still accessible in the latest roctracer library.
Change-Id: I4c94310a7bfccfeae9384dac5db18fc79b4c5b17
[ROCm/roctracer commit: 8ee9d859ed]
Make error codes more informative and have negative values. This is an
ABI break but it does not appear known tools are relying on the exact
error codes.
Use logging for all errors so that roctracer_error_string will be able
to return last error message.
Make internal errors fatal and abort.
Do not use the tracer API exceptions in the tracer tool.
Change-Id: Ie8ed3d50e5ad26625ac9d1263f7e048edb5584c0
[ROCm/roctracer commit: a4db4084db]
1- fix the usage of the deleted cmake_modules in build scripts
2- Remove the unused HIP_VDI
Change-Id: I7d8ea55b0722a746b192e090b76c71977d65f130
[ROCm/roctracer commit: 7a47505744]
The tests should be using the newly built libraries in the cwd.
Change-Id: I993e74a6cdbfdc78cf226f3fa5e4b55555f27825
[ROCm/roctracer commit: c74bb1fced]
Move the tracer_tool from the 'test' directory to the 'src' directory.
Change-Id: I13768b9610cd359f78a66147f0255ab1e4c657e9
[ROCm/roctracer commit: b34e9c2ee4]
Add symbol versioning to the roctracer64 and roctx64 library, and only
expose the OnLoad and OnUnload tracer_tool symbols.
Change-Id: I7f160fc3e568567fd1146ff5b9c0aef3bdcccf53
[ROCm/roctracer commit: 0377c5a191]