Commit Graph

194 Commits

Author SHA1 Message Date
gobhardw c025860b9b updated README for plugins
Change-Id: I8875bf8b624c8e09467bcb30e2794bdf41b31872


[ROCm/rocprofiler commit: ef31a96b55]
2023-03-29 15:55:05 +00:00
Sriraksha Nagaraj b94298e94d SWDEV-379542: Adding to LD_PRELOAD instead of overriding it
Change-Id: Ib6395454ab6d09124baf2f958f26384f8689f64e


[ROCm/rocprofiler commit: f29b968185]
2023-03-09 13:21:09 +00:00
Ammar ELWazir 78916421e4 Solving failed tests for rocprofiler v1
Change-Id: I61ffc4380b077db3a23c9dbb3e680324cf7f1a4a


[ROCm/rocprofiler commit: ceefad27d0]
2023-03-09 13:21:08 +00:00
Giovanni LB a7329eb8ee SWDEV-384602: Solved issues with multiple users.
Change-Id: Ie40addcbfdfce6ce45ceec8e38fc83d3d72882eb


[ROCm/rocprofiler commit: 4ec67854e5]
2023-03-09 13:21:07 +00:00
Ammar ELWazir ff80dd4dfa Fixing rocprofilerv2 naming and CMake issues
Change-Id: Ib6d336349a056731e5c0f35151296d6fea671360


[ROCm/rocprofiler commit: dc69331379]
2023-03-09 13:21:01 +00:00
Ammar ELWazir 14333c3a8a Fixing Packages installation path
Change-Id: Ide3536b3c6050effcc9337e612375a7e5ddb6522


[ROCm/rocprofiler commit: 9b0e58dfdf]
2023-03-09 13:20:37 +00:00
Konstantin Zhuravlyov b23a2f3029 Explain why kernels are compiled with code object v4
Change-Id: Ib0502f005faa513105cf570a0013517d6c6349c3


[ROCm/rocprofiler commit: e0e5f7336b]
2023-02-03 21:54:33 -05:00
Konstantin Zhuravlyov 2f773d893c Compile kernels with code object v4
Change-Id: I3dc05dff07888cea79ba0a51eaac17ed64f5fec0


[ROCm/rocprofiler commit: d9c9d39902]
2023-02-03 16:17:34 -05:00
Ammar ELWazir be0c6a3380 Suppressing the hipGraphLaunch issue
hipGraphs acts as a separate activity group as they have their own memory copies and their kernel dispatches and more activities, currently hip api that roctracer depend on doesn't have a way to represent this type, so we are temporarily suppressing the issue up till we have a complete support for the hipGraphs

Change-Id: I5d889be05c9414530672c781e5a712d572ea4104


[ROCm/rocprofiler commit: bbbd177dd7]
2022-11-01 23:29:05 -05:00
Ammar ELWazir 39c2d67ce8 Fixing merge_traces.sh
merge_traces.sh was depending on tblextr.py, and the location of tblextr.py changed from bin to libexec/rocprofiler

Change-Id: I76f1a0f41ffcff26e6a1119dacfb8b2ebd56d17d


[ROCm/rocprofiler commit: 7e8df53c44]
2022-10-28 10:28:36 -05:00
Laurent Morichetti ee8efd3e2b SWDEV-362165 - Escape argument strings in the JSON file
"a_string\x000" -> \"a_string\\x000\"

Change-Id: I8bf054702b34577f84080080d9538b16abc996fe


[ROCm/rocprofiler commit: 3b61d6bd8c]
2022-10-18 01:47:46 -04:00
Sriraksha Nagaraj 1e64045fb1 SWDEV-359118 - fix for misrepresentation for stream ids in Json file
Some trace entries report the stream argument as 'stream=' and some report it as 'hStream='.
Change-Id: I9e7c7af162db72ddadf6f2a3fe4f44a04bf77ed6


[ROCm/rocprofiler commit: 3bb853c56d]
2022-10-13 21:48:48 -04:00
Sriraksha Nagaraj 615dd27e77 SWDEV-287352 - Changing the description for timestamp option
Change-Id: Ie1d942f7560838efbc38394b21facf04df9bbda5


[ROCm/rocprofiler commit: c565e2f329]
2022-07-07 15:08:53 -04:00
Sriraksha Nagaraj 541764daad SWDEV-323976 - changes in the scripts to display copy activity in the trace output
Change-Id: If8f7df3668c075a8f21508c796220693be9b40d3


[ROCm/rocprofiler commit: b0152e0091]
2022-07-05 16:24:45 -04:00
Sriraksha Nagaraj 5272d9dc81 SWDEV-287352: Fixing typos in the rocprof --help description
Change-Id: I39739e53e477c9e621da1b686e248b5d7aff5ad2


[ROCm/rocprofiler commit: c9efa4891e]
2022-06-29 16:26:25 +00:00
Ammar ELWazir e09315af9f Enabling ROCP_STATS_OPT
Enabling the new methodology of ROCP_STATS_OPT of getting HIP activities while the application is running

Change-Id: I19d09e2f2abe16e6528240bf55d6048645aaa09f


[ROCm/rocprofiler commit: 6f97e15d55]
2022-06-21 19:30:38 -05:00
Ammar ELWazir a5bd7dd935 Google-Chrome Tracer parser attaching flow events to the wrong time slice
This issue happens when we have slices that have overlapping
timestamp values (i.e. start_ts + dur = start_ts of next slice)
and the flow event references that shared timestamp value.
The google chrome parser sorts all the events
and just taking the most recent one.
Rocprof is outputting flow attachment points as start+dur;
the end ts of the slice that can overlap with the next slice
if no gap between them.

Solution proposal by Michael Steffen (Michael.Steffen@amd.com)

Change-Id: Ifcde142144033c9012b01a78c95f047384f972dd


[ROCm/rocprofiler commit: 93a79eb99a]
2022-06-13 14:53:14 -04:00
Ammar ELWazir 48e2400848 SWDEV-338186: Fixing Roctracer tool name, path
Using libroctracer_tool.so instead of libtracer_tool.so and fixing the paths for the tracer tool

Change-Id: I9b3ca885f3ca5385b106d5376894b1b4054f9c1d


[ROCm/rocprofiler commit: 0be6306cae]
2022-05-20 05:26:33 -04:00
Laurent Morichetti d4241d5241 Register the tracer API as a tool library
In a future change, the tracer API library (libroctracer64.so) will be
automatically registered as a tool library. Until then, explicitly
register it by adding it to the HSA_TOOLS_LIB environment variable.

Change-Id: I44d78ac38608e6da5edf04b498a73485f5609d06


[ROCm/rocprofiler commit: 0123aa61fa]
2022-05-04 19:19:34 -07:00
Kiumars Sabeti 08c1267bbb SWDEV-320429: wrapping the comma-containing names in the .csv in double quotes at the time the .csv is generated
Change-Id: I62f94a1cf8895eb324080f8aacac3f13c02d7050


[ROCm/rocprofiler commit: 4d99f8d8e5]
2022-04-27 20:45:51 -04:00
Ammar ELWazir 8594855227 SWDEV-332635: Fixing the effect of roctx-rename feature
HIP/HSA traces were asked to access range_data list, however, it was not initialized because roctx tracing was not enabled, moved lists initialization before roctx check

Change-Id: I9942876445cb1b2f69c6bb0d8986d6d9234f1441


[ROCm/rocprofiler commit: 1f925b3f16]
2022-04-13 12:58:31 +00:00
Laurent Morichetti 26bb13ade0 SWDEV-318682: Using roctx to rename long kernel names to shorter ones.
To enable this feature use the --roctx-rename rocprof option. This
implementation records all messages received in roctxPush calls and
use them to replace corresponding kernel names.

Tested with the following HIP program:

\#include <hip/hip_runtime.h>
\#include <roctracer/roctx.h>

__global__ void
ThisIsALongKernelName ()
{
}

int
main (int argc, char* argv[])
{
  hipSetDevice (0);

  // Not in a roctx range.
  ThisIsALongKernelName<<<1, 1>>> ();

  roctxRangePush ("A");
  // In a simple first level roctx range.
  ThisIsALongKernelName<<<1, 1>>> ();
  roctxRangePop ();

  roctxRangePush ("B");
  roctxRangePush ("C");
  // In a nested roctx range.
  ThisIsALongKernelName<<<1, 1>>> ();
  roctxRangePop ();
  roctxRangePop ();

  roctxRangePush ("D");
  roctxRangePush ("E");
  roctxRangePop ();
  // In a first level roctx range, but after a nested range.
  ThisIsALongKernelName<<<1, 1>>> ();
  roctxRangePop ();

  hipDeviceSynchronize ();
  return 0;
}

Change-Id: I629312234468daff8b017caa5cb0773707d98cce


[ROCm/rocprofiler commit: 1078a088e9]
2022-04-07 18:03:03 -07:00
Ammar ELWazir 6da8b33053 SWDEV-329270: fixed the multiline input.txt issue
In a previous change the key for the var_table in tblextr.py script has been changed from one value to a tuple without changing the usage of the var_table in the rest of the script

Change-Id: I38964f61afad5323d1ca9b64d538cec426298842


[ROCm/rocprofiler commit: 46c4e5045a]
2022-03-25 05:09:52 +00:00
Ammar ELWazir 314abc4cca SWDEV-329261: Fix for Post-Processing HSA Memcopy Async Activities
The Post-Processing script was depending HSA API call for async mem copies to correlate it with the HSA Async Memcpy Activity, now if user decided to include input file with filtering HSA Api calls without adding HSA Memcpy, then all the correlation data will be dropped and the Async activity will be reported with the information given from the HSA async activity result file

Change-Id: I5123a5acab9b35a4c25793e7953fdfb74929c999


[ROCm/rocprofiler commit: fd4767d954]
2022-03-24 10:22:52 -04:00
Ranjith Ramakrishnan f48e036eb4 Merge "File Reorganization with backward compatibility" into amd-staging
[ROCm/rocprofiler commit: d891915a16]
2022-03-08 14:09:13 -05:00
Ranjith Ramakrishnan fcc553ec4d File Reorganization with backward compatibility
Package files installed in /opt/rocm
Wrapper header files and library soft links installed in/opt/rocm/rocprofiler
Test tools library and binaries renamed
Internal binaries installed in /opt/rocm/libexec/rocprofiler
run.sh updated with file reorg changes

Change-Id: I927d1a0dcd814764ebf0f473d0a64883906d5457


[ROCm/rocprofiler commit: 015697db74]
2022-03-05 14:49:41 -08:00
Ammar ELWazir 050d78cfd9 SWDEV-326120: Fix for Staging
'merge_traces script from rocprof fails to include GPU / HSA / ROCTX activity in merged trace' change was missing tuple addition to the second for loop causing issues on gfx908 and gfx906 | change NO: 628475

Change-Id: Ic0b6140d4372eb109fdf7bdc8d58c0d84239196d


[ROCm/rocprofiler commit: 7a9692766d]
2022-03-04 12:22:37 -05:00
Saurabh Verma 7284cbb59b SWDEV-299902: merge_traces script from rocprof fails to include GPU / HSA / ROCTX activity in merged trace
Change-Id: I29cfd6cfaf34bfa588bd90774db6d8ac501e8aa8


[ROCm/rocprofiler commit: 7a7c73b7d8]
2022-02-18 16:11:08 -06:00
kiumars 8363a23286 SWDEV-303820: [LLNLA-63]rocprof does not check input arguments at start
Change-Id: I820a2b6df10b799f776518a98519e9c8ca40ec53


[ROCm/rocprofiler commit: 7a8f5b5e90]
2021-11-11 17:31:56 -05:00
Chun Yang b4231ee97d SWDEV-296922 : Incorrect rounding due to integer division in rocprofiler metrics
Changed var_pattern in tblextr.py to include pattern like "name[0]"

Change-Id: Ibe1c512595cfbdcaca8fa5bddceb3f6a570caf43


[ROCm/rocprofiler commit: ff43ca1542]
2021-09-29 09:15:11 -07:00
Chun Yang 62a76c8ebb SWDEV-296922 : Incorrect rounding due to integer division in rocprofiler metrics
Changed derived metrics to double from int64.
Fixed standalone test due to int64 to float change
Fixed intercept test due to int64 to float change.

Change-Id: I49631c187406ae9dd94a869b3bb13772012e8cdf


[ROCm/rocprofiler commit: f9017cbdc5]
2021-09-23 14:52:35 -07:00
Saurabh Verma d6a648e396 SWDEV-296100: hipStreamWaitValue64 and hipStreamWriteValue64 break rocprof
Change-Id: I5b31affa6df4359a02014b87b825554ac5519c1a


[ROCm/rocprofiler commit: ca059e1aa9]
2021-09-15 12:07:40 -04:00
Laurent Morichetti 97c747d8dc Merge "Merge roctx_trace.txt" into amd-staging
[ROCm/rocprofiler commit: d926d09134]
2021-09-02 12:31:29 -04:00
rachida a15b1c4e46 SWDEV-295878 Fix for seg fault when using --trace-start off
Change-Id: I94d95dd4fb49aace5f1ee006c47b94573f997b85


[ROCm/rocprofiler commit: 6f31192501]
2021-08-31 16:49:48 -04:00
Laurent Morichetti 8cd375677f Move spmltgen.py to amd-npi
Change-Id: I63e67193453e2c5479a03a8c9c97f94eced04268


[ROCm/rocprofiler commit: 6fe4a5db51]
2021-08-20 10:45:39 -07:00
rachida b80e119d54 SWDEV-294331 Fix for memcopy Incorrect number of bindings error
Change-Id: I6dabca411bab567b27db8ef801006b393b22788e


[ROCm/rocprofiler commit: f1c0faa601]
2021-08-13 15:53:22 -07:00
Ammar Elwazir a940ad1c48 Merge "SWDEV-294319 & SWDEV-294321 Added support for missing functions" into amd-staging
[ROCm/rocprofiler commit: a3700a9243]
2021-08-11 21:52:31 -04:00
Ammar ELWazir 1f2ded91f6 SWDEV-296331: Fixed libhsakmt.so.1
Removed the old code for trying to locate libhsakmt.so.1 as it is replaced by libhsakmt.a static library

Change-Id: Icc5a0f6ead285e2406e6e83614e536184e3a2663


[ROCm/rocprofiler commit: 14b62557d0]
2021-08-11 12:25:06 -04:00
Laurent Morichetti d641540a5d Merge roctx_trace.txt
Add roctx_trace to the list of files that need to be merged when
aggregating results from multiple runs.

Change-Id: I5810be9e9220765ed8e8a84eca854131e97e61b1


[ROCm/rocprofiler commit: 4ab94c410a]
2021-08-05 09:04:26 -07:00
Ammar ELWazir 872613f93f SWDEV-294319 & SWDEV-294321 Added support for missing functions
Added Support for launch kernel functions to fill_api_db
Added support for hipMemcpyToSymbol in add_memcpy
Added support for hsa_amd_memory_pool_allocate to be counted as source of allocations

Change-Id: I68806106324b19ca6f09d413df37c27582be2f51


[ROCm/rocprofiler commit: 804e063eda]
2021-08-02 16:55:33 -04:00
Christophe Paquot 02e1c73a51 SWDEV-295205 - Remove KFD domain from roc profiler
Removed KFD domain and references.

Change-Id: Icd7e1789c77490e57b527be065043eadb6b75c1c


[ROCm/rocprofiler commit: 79d477daed]
2021-07-14 16:50:20 -07:00
Christophe Paquot bce05f5b82 SWDEV-282961: dependency arrows missing
When building the json data flow, from_us_list has (timestamp, stream_id, thread_id).
stream_id used to be interpreted as from_tid and tid as to_tid. But that's not correct.
stream_id is always a destination and tid is the initiator (source).

Change-Id: I2f5bb86a387b4003b17271c90bdf9de4b59a79bf


[ROCm/rocprofiler commit: 244dadcb85]
2021-06-30 09:49:45 -04:00
rachida 61efc819c3 SWDEV-291267 Script to merge mpi rocprof traces
Change-Id: I3d86276666efb067ccb62730e74a67e0cc7c4d42


[ROCm/rocprofiler commit: b54bfac5bf]
2021-06-25 15:12:35 -04:00
Rachida Kebichi bd65e66dc8 Merge "SWDEV-282961 Skip barrier events. Process hipMemSet events" into amd-staging
[ROCm/rocprofiler commit: afad08b4c5]
2021-06-16 10:27:39 -04:00
rachida e1f148e260 SWDEV-282961 Skip barrier events. Process hipMemSet events
Marker events inside hcc_ops_trace.txt are from barriers so they are not meant to be stored in ops_patch_data map.
Added support for hipMemset events which are a kind of memory copy.

Change-Id: I213fe959bcd35ff0371613ba5bffd95bc53e06b5


[ROCm/rocprofiler commit: caa5f32300]
2021-06-10 16:33:39 -04:00
rachida f2649f4049 SWDEV-284863 Removed accidental override of recordid
recordid  cannot be just a counter. The code removed was doing
just that i.e. incrementing a counter. Recordid has to come
from recvals data structure. That code was left there since
a while when Evgeny and Rachida were trying to prototype this feature.
I am not sure why it was not spotted before.

Change-Id: Ia867066dcfca083fcd4111f2aefc2fec88c26314


[ROCm/rocprofiler commit: 4ba91a972c]
2021-06-08 14:21:27 -04:00
Rachida Kebichi 950924438f SWDEV-284863 Fixed several issues preventing memcpy info dump in csv
1st issue was that one of the ostream ops failed to print the
content of the struct.
2nd issue: get_ptr_type was called with args being src/dest
pointers while it should be the agents pointers for src/dest.
3rd issue: memcopies map used (recordid, procid, is_async)
as a key but this is not enough as some copies share same key,
so I added begin/end timestamps as a way to distinguish between them.

Change-Id: I7c6e80e74e30ea572f21612aaf0cf7efec6e91e6


[ROCm/rocprofiler commit: 761bd6a86b]
2021-06-04 12:18:35 -04:00
Ashutosh Misra a407995955 rocprofiler:using right rocm lib(s) path
Correcting thunklib preload with tested absolute path

SWDEV-285578

Change-Id: I8aa8205a6886d2101cf66016d307ff8a7c86257b


[ROCm/rocprofiler commit: f3c80f645a]
2021-05-25 02:04:51 -04:00
Laurent Morichetti cac74820c2 Use ${BASH_SOURCE[0]} to deduce the install dir
Change-Id: I96b81c4d01a88a1edee05a54a4982e4a93225847


[ROCm/rocprofiler commit: badd1270f6]
2021-05-20 16:36:57 -07:00
Rachida Kebichi a01a4a26a7 Fixed issue with map key in dep_proc map
Change-Id: I5c2deeda2c2dedd9c800af60c0b4748279f8418e


[ROCm/rocprofiler commit: 7a5e408891]
2021-04-23 13:14:40 -04:00