100 Commity

Autor SHA1 Wiadomość Data
Bhardwaj, Gopesh 639064b28c SWDEV-539836 Do not parse private/internal members (#56)
[ROCm/roctracer commit: 074d9d95ec]
2025-06-27 20:47:30 +05:30
meserve-amd 6ad8d8f2c9 SWDEV-470344: Fix build time parsing of unions
- Fixes issue where types defined inside of a union were being skipped
  for ostream operator generation
- Also fixes issue where these types were not correctly defined in the
  resulting operators' parameters
- Fixes edge case where types with "union" in their name were being
  skipped as if they were union types

Change-Id: I717e56c1d0250eeae402bb83e39dec9990cff70d


[ROCm/roctracer commit: 9755c71cfc]
2024-07-01 13:55:53 -05:00
Ammar ELWazir d20003ed92 Fixing ROCTracer to match versioning changes in HIP Runtime
Change-Id: Ibde2419314824f12acb4cf51dc675cb14a51851c


[ROCm/roctracer commit: aa3c07c257]
2024-01-03 12:29:24 -06:00
Ammar ELWazir a113218672 SWDEV-340925 & ROCMOPS-4997: Fixing Tests package for roctracer
Change-Id: I9913e1df86398ef79a5afcf4b89b5a132d61422c


[ROCm/roctracer commit: 2a9595bc8f]
2023-06-08 14:48:28 +00:00
Kiumars Sabeti ac660e2c92 SWDEV-360818: Reserved fields of hip structures are undefined. Because of that, reserved fields may contain special characters that are not readable by postprocessing Python script. To patch this issue, here we modify script that generates hip_ostream_ops.h to set reserved fields of hip structures to 0.
Change-Id: I0cda5cedfa30b140f121803dd8c066107ae0756e


[ROCm/roctracer commit: 397b3b10af]
2023-01-26 17:44:55 -05:00
Ranjith Ramakrishnan 1d4e650841 SWDEV-369226 - Correct the usage of include file
In the generated header file hsa_prof_str.h , the header file hsa_ostream_ops.h was included using angle brackets
This results in compilation with include path /opt/rocm-ver/include. Corrected the usage by using double quotes

Change-Id: Ie9f1fff78d16a6953a2c99056b2acef42e577204


[ROCm/roctracer commit: b1585c983d]
2022-11-21 16:38:39 -08:00
Laurent Morichetti 83402eae9c SWDEV-362165 - Escape strings in the API function's arguments
Also escape '\', '"', '\b', '\f', '\n', '\r' and '\t'.

Change-Id: I02cb1a0a511156661ff40700a81b0989a450aacc


[ROCm/roctracer commit: 0d6e5b1cea]
2022-11-07 15:41:51 -08:00
Laurent Morichetti 348bc1afaf SWDEV-362165 - Escape strings in the API function's arguments
Strings ([const] char *, [const] char[]) passed as arguments to API
functions may not always contain printable characters. All string
arguments should be quoted and escaped in the trace logs.

Change-Id: Ie39058f2190048b1a0090df16d9ac6bc6507e28a


[ROCm/roctracer commit: b556f8681e]
2022-10-15 19:03:36 -07:00
Laurent Morichetti aaf512c9ad Remove the thread local begin_timestamp stack
Using a thread_local object is problematic as the thread local
destructors are called first before any global destructor, making
the object invalid while tearing down the process.

rocblas uses a global destructor to clean up the loaded HIP modules
and ends up calling hip_executable_destroy after the timestamp stack
is destructed. As a result the begin timestamp for that API function
is 0.

The solution is to store the phase_enter timestamp in the phase_data.

Change-Id: If143f4d123dfb111c72fb20365431d07e73fc570


[ROCm/roctracer commit: 8a575d8d6e]
2022-09-30 15:01:08 -07:00
Laurent Morichetti 549d6a5ec5 Fix a profiling data corrupted error
Using rocprof with ROCP_MCOPY_DATA=1 while tracing HSA produces the
following error:

tblextr.py: Memcpy args "(0x7feb16a00000, 123handle=28593376125, 0x7feb12a00010, 123handle=27558560125, 4194304, 0, 0, 123handle=140661639440000125) = 1" cannot be identified
Profiling data corrupted: ' ./out/rpl_data_220930_143009_1826700/input_results_220930_143009/results.txt'

There are two issues:

1) The hsa_agent_t handle argument is misprinted: "123handle=...125"
  Instead of printing '{' and '}', it prints '123' and '125'. The wrong
  operator<<(unsigned char) is used and an integer value is printed
  instead of a char.

  Use std::operator<< instead of hsa_support::detail::operator<< to
  print '{' and '}'

2) The result value is unitialized and in some cases printed as a
  negative integer value. The leading '-' is not matched by the
  mem_manager regular expresion for HSA api calls.

  Correctly capture the HSA function's return value.

Change-Id: If13a1e62eeb4e598447c4b90d53d1b2e3b408696


[ROCm/roctracer commit: 6416434d3b]
2022-09-30 13:36:48 -07:00
Laurent Morichetti e8cb732660 Cleanup the include files
Use #include "header" instead of #include <header> so that the header
files are found when the application #includes <roctracer/roctracer.h>
with -I /opt/rocm/include.

Change-Id: I24feac9a5030d3600aee98084340e246c3990db5


[ROCm/roctracer commit: 05ee3ff973]
2022-09-13 08:23:40 -07:00
Laurent Morichetti 3d46d2d5cb SWDEV-351980 - Consolidate registration tables in the roctracer
Change-Id: I44cd1cc81cf6a529aed89ee8db1377c0aa67f0dc


[ROCm/roctracer commit: 2673bf5e2c]
2022-09-08 20:58:05 -07:00
Laurent Morichetti 8548060d8d Bring the HSA_EVT callbacks back to the roctracer
Change-Id: I26080b264d7989880ba7e9f00502cc680b2256d7


[ROCm/roctracer commit: c2b87b1fd7]
2022-09-06 19:38:12 -07:00
Laurent Morichetti 0197ed4253 Use a global correlation_id for all records
Change-Id: I87fe16fefb52a95242bc64b7007b71c9d8978d44


[ROCm/roctracer commit: ac3214d32a]
2022-09-06 19:20:54 -07:00
Laurent Morichetti 748d8b5cec Cleanup roctracer_hsa.h
Remove declarations that are not meant to be part of the public API.

Change-Id: I47d9e83bf41bdb2f7ac25a1507200b51c616049b


[ROCm/roctracer commit: 05d3cf3529]
2022-07-27 02:16:15 -04:00
Laurent Morichetti 09472d6563 Fix HSA intercept
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]
2022-07-27 02:15:43 -04:00
Ammar ELWazir b2b252ba31 SWDEV-344206: Fixing Roctracer Tests
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]
2022-07-15 12:39:55 -04:00
Laurent Morichetti 71469dfc97 Split hsa_prof_str.h
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]
2022-07-14 21:20:30 -04:00
Laurent Morichetti f76ed5eb8e Add the roctracer-tests package
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]
2022-07-05 17:03:21 -04:00
Sriraksha Nagaraj 927d2f45c4 SWDEV-323976:Adding support to display correlation-ids in hsa-trace files
Change-Id: Ie01658c1f55624b4986542853a9a85a4ca40866d


[ROCm/roctracer commit: 4484718571]
2022-06-27 07:54:22 -04:00
Laurent Morichetti 1418bca17c Move callback_table.h to the util directory
The CallbackTable utility is shared by multiple APIs, so move it out
of the roctracer directory.

Change-Id: Ie2378dca8a4f90bd334dbe2d39ced37c9e790ed0


[ROCm/roctracer commit: c0cbcdff1d]
2022-05-24 15:52:31 -07:00
Laurent Morichetti 2db9dc7f66 Add a ROCTX test
Change-Id: I90dab2f349ade6cbfc86f0399c8b9ca905de23b3


[ROCm/roctracer commit: 1e7783af58]
2022-05-23 23:10:26 -04:00
Laurent Morichetti 0bb77aa022 Fix CMakeLists.txt conventions
Fix indentation, quoting, and white spaces.

Change-Id: I5e5e95b961e83e5957bdd137ef9893615396bb53


[ROCm/roctracer commit: 13fe79ab09]
2022-05-20 12:31:25 -07:00
Laurent Morichetti 7e11a61f6f File reorganization
Move the tracer_tool from the 'test' directory to the 'src' directory.

Change-Id: I13768b9610cd359f78a66147f0255ab1e4c657e9


[ROCm/roctracer commit: b34e9c2ee4]
2022-05-20 10:36:38 -07:00
Laurent Morichetti 4fddfcc5c5 Optimize rotcx markers
Improve the roctx markers performance when the tracer is not engaged
(the application is not running with rocprof).

The performance of roctx push/pop, measured with:

-----------------------------------------------------------------------
  auto start = std::chrono::steady_clock::now();
  for (int i = 0; i < 10000000; ++i) {
    roctxRangePush ("A");
    roctxRangePop ();
  }
  auto end = std::chrono::steady_clock::now();
  std::cout << "ns = " << std::chrono::nanoseconds(end - start).count()
      / 10000000 << std::endl;
-----------------------------------------------------------------------

w/o rocprof | with rocprof | commit
       92ns |       770ns  | 0d6e132: Cleanup CallbackTable::Get
       28ns |       712ns  | 6421bd5: Cleanup ROCTX's implementation
       20ns |       664ns  | 7f0e5e5: Remove the roctx range message...
        6ns |       665ns  | this commit

Change-Id: Id679dcbd0fb190a3179be98a9b2c1db151efee3d


[ROCm/roctracer commit: a794247c55]
2022-05-10 12:08:06 -07:00
Laurent Morichetti e309f4c5df Cleanup CallbackTable::Get
Make CallbackTable::Get return the callback_function/user_arg pair
as an actual return value instead of returning it through arguments
pointers.

Change-Id: Ia2dfcdad8c237a09620518ad67af94add47220da


[ROCm/roctracer commit: 4aeb76f7a8]
2022-05-10 08:13:18 -07:00
Laurent Morichetti 45deedf43a Make roctracer_cb_table.h a private header
Move roctracer_cb_table.h to the src/core directory, as it should not
be exposed as a public header, and rename it callback_table.h

Change-Id: Ib448cbd32a275df0268d53bd8d1da0bdc9201470


[ROCm/roctracer commit: cd62d841fa]
2022-04-20 19:47:43 -07:00
Laurent Morichetti 80c01a27c0 Fix copyright headers
Change-Id: I380d867fa5fb04e68b5b332e9abf33fbeb1e9418


[ROCm/roctracer commit: 06a3da7c63]
2022-04-19 09:30:45 -07:00
Christophe Paquot a9f6522a41 SWDEV-295205 - Remove KFD domain from roctracer
Change-Id: I2771cf43aa115bb466531bf887f7cc75e187f2ef


[ROCm/roctracer commit: e5e1258ef8]
2021-07-22 10:12:45 -07:00
Rachida Kebichi 99ae6ad86a SWDEV-284863 Fixed several issues preventing memcpy info dump in csv
Change-Id: I4c6323311ce8314296e81a9b9b5d8adb485e0aa8


[ROCm/roctracer commit: e5dd1e9b85]
2021-05-25 11:10:52 -04:00
Rachida Kebichi 4214723eda SWDEV-283958 Workaround for unnamed structs
CppHeaderParser has limited support for unnamed structs. It leaves the
name empty so this results in classes (a.k.a structs) having trailing '::'
characters, also giving no way to distingush two unnamed structs at the
same level of nesting. An example are the inner structs of
hipExternalSemaphoreSignalParams. The workaround consists in skipping
over these, so they are not generated in the output header file
which lists all ostream ops<<. Only the inner unnamed structs are skipped,
the rest is processed as it should.

Change-Id: I17439c46095469b7adb7aee0b0f0b3d234aabc11


[ROCm/roctracer commit: faada3e569]
2021-05-07 15:57:30 -04:00
Rachida Kebichi d78eaf664f SWDEV-255637 support for hsa_amd_memory_async_copy_rect
Change-Id: I5db6484c30427712c56b59862e748118a3f079c2


[ROCm/roctracer commit: 06271806d4]
2021-03-31 10:02:06 -04:00
Rachida Kebichi 28faba40a7 SWDEV-271503 Fixed core dump
Change-Id: Ia582a27482581c3b81c42da0add9f6743898da6c


[ROCm/roctracer commit: ad5b463912]
2021-03-30 14:06:56 -04:00
Evgeny f1458a97fb calling python3 explictely
Change-Id: I3dda55865bafa41cc6670e414b213f13a2a2a7ac


[ROCm/roctracer commit: bb5f2231a1]
2020-12-16 14:29:12 -05:00
Rachida Kebichi 4b6d702a39 SWDEV-255938 NEW - added regex and depth support to ostream ops
Change-Id: I292255adab3a70fa00a1dd5685b788521687f35b


[ROCm/roctracer commit: ef36218286]
2020-11-18 16:48:50 -05:00
Evgeny 6f19938892 SWDEV-251491 : gen_ostream_ops.py porting to python3
Change-Id: I7081b6ad21b038040267067bd73d8a44df46e4ff


[ROCm/roctracer commit: 9562675382]
2020-10-01 00:52:23 -05:00
Rachida Kebichi c475599054 Fix for trace checker
Change-Id: Ib8a0df7b7bb0da2e68b5b4d99ce8025de169f317


[ROCm/roctracer commit: 29da9a744d]
2020-09-11 14:26:47 -04:00
Evgeny Shcherbakov 23369e0593 Merge "build normalizing - generating under build directory" into amd-staging
[ROCm/roctracer commit: 361f099847]
2020-09-11 09:42:28 -04:00
Evgeny a524f432fc gen_ostream_ops.py fix - ostream operators as inline static
Change-Id: I9688236b06dd167960662b8eecf1a07c93b43fff


[ROCm/roctracer commit: c9ed0f067d]
2020-09-09 01:46:23 -05:00
Evgeny a547e615e3 build normalizing - generating under build directory
Change-Id: Id9203aec7800024bd749059a415fb29b8051005a


[ROCm/roctracer commit: ed1f1b66ac]
2020-09-07 15:24:58 -05:00
Evgeny 1b73058fb7 Format ostream ops
Change-Id: I8c609b1ef82e02f3547541c2cc47dec3a4f1c7b3


[ROCm/roctracer commit: e9b8de644e]
2020-08-28 11:30:18 -05:00
Evgeny bd1165a371 enabling hipIpcEventHandle_t
Change-Id: Iaf973567298d5ef8450e14e869b5f837e0620022


[ROCm/roctracer commit: ac59f349d4]
2020-08-03 13:04:05 -05:00
Evgeny Shcherbakov a779125f43 Merge "Added hsa ostream ops generation" into amd-master
[ROCm/roctracer commit: de338b02e6]
2020-07-30 11:24:32 -04:00
Rachida Kebichi 127ae39c5a Added hsa ostream ops generation
Change-Id: Icc68e136d22b05b35d6adaff56e090272633d760


[ROCm/roctracer commit: bac4bae41c]
2020-07-29 10:41:32 -04:00
Rachida Kebichi 2e189165df more verbosity in trace diffs
Change-Id: I1e3f6c8ee126ca4470f0846aabab19d18397dd64


[ROCm/roctracer commit: 0502f196d9]
2020-07-29 03:00:16 -05:00
Evgeny 4e299dbfa4 fixing ostreams linking as inline static
Change-Id: Idbfac3e5220acd62500cd4c204a5bd9a9461c8fc


[ROCm/roctracer commit: 264e3d816d]
2020-06-19 12:54:12 -05:00
Evgeny ecf2c9e22b disabling kernel name printing for kernel launches by func pointer and ostream operator template
Change-Id: Icbcedafb1812a1be03837f6cb47283eb0d382ad2


[ROCm/roctracer commit: 9d4a58f6da]
2020-05-27 05:23:29 -04:00
Rachida Kebichi 22f2375dd2 Added check trace with config.
Change-Id: I1c71793c4c6f512288e92f70105f428c3f8671c4


[ROCm/roctracer commit: 8cece61689]
2020-05-19 09:47:19 -05:00
Evgeny 7c98010b44 SWDEV-236864 : packaging of generated headers
Change-Id: Ifda69eecf3697f6b69c978b3c4c2ffe9835edeb8


[ROCm/roctracer commit: 074306d997]
2020-05-18 18:08:06 -05:00
Rachida Kebichi 99b6e667cf Added generation of hip ostream operators
Change-Id: I5d07ea07cdd94097cb44619c29d9deba54e5d6a5

ostream ops code cleanup

Change-Id: Ia4e287de1e1953f5d323a0066c29aa6056442139


[ROCm/roctracer commit: 72b0d25ea4]
2020-05-01 16:15:01 -04:00