Граф коммитов

457 Коммитов

Автор SHA1 Сообщение Дата
Saurabh Verma eaebfe0954 SWDEV-297195: Corrected units for some counters. Units changed to quad-cycles units where required.
Change-Id: Ia6b0387ac6ec4210bb9482d85ae5635fc7c3c9d0


[ROCm/rocprofiler commit: 18dedbaee8]
2022-07-21 17:22:17 -05:00
Ranjith Ramakrishnan a5a941cbfc SWDEV-345870 - Correct include paths for new directory layout
Use hsa header files from /opt/rocm-ver/include rather than using wrapper files from /opt/rocm-ver/hsa/include/hsa

Change-Id: Id7a9bde19447cd2a0fd6e03b11c08471f09c2a46


[ROCm/rocprofiler commit: e7eb195924]
2022-07-14 16:08:41 -07: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 9c0cdcd184 SWDEV-341811: backward compatibility fix for metrics.xml
Change-Id: Idd0535d399e211664a64390ebc97036495d02511


[ROCm/rocprofiler commit: 57fb3abb31]
2022-06-17 13:29:09 -04: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
Icarus Sparry 48d6f03c07 Adding missing commits
Adding commits found in mainline and not in staging: Add dependency on rocm-core

Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>
Change-Id: Icb935e9230888fd005d9ca3617e28f6173173cc8


[ROCm/rocprofiler commit: 22f2e593c2]
2022-06-01 13:21:04 -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
Ranjith Ramakrishnan c4428cc945 Merge "SWDEV-321112: Use GNUInstallDirs" into amd-staging
[ROCm/rocprofiler commit: 44cbb66a16]
2022-05-19 14:11:17 -04:00
Ranjith Ramakrishnan ee6ea623e2 SWDEV-321112: Use GNUInstallDirs
Use GNUInstallDirs variables to determine the location of BINDIR,
LIBDIR, INCLUDEDIR, DOCDIR, LIBEXECDIR and SYSCONFDIR.

Note that CMAKE_INSTALL_LIBDIR is overriden, since the default for RHEL
is lib64, but ROCm packaging wants it to be lib always. Distros or users
can easily override this.
Project name changed from rocprofiler64 to rocprofiler,since CMAKE_INSTALL_DOCDIR uses the project name

Change-Id: Iff2622b4bfc38ce5caea270e6e44ba74485cb9e4


[ROCm/rocprofiler commit: b24e05e138]
2022-05-19 14:07:42 -04:00
Saurabh Verma e27d5da8c0 SWDEV-298750:Approval to make internal profile counters public
Added approved HW counters for MI200. Also added derived metrics for the same

Change-Id: I1c6abfdfde4e4fd4ba8bd5eec0557ad08fd71c77


[ROCm/rocprofiler commit: 6d233c65d7]
2022-05-17 16:44:16 -05: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
Ammar ELWazir 9c0bb64c22 SWDEV-296010: Fixing RPATH & CMAKE files
Fixing the RPATH skip & Removed the export line from the build.sh as we have find_library with giving it a path to /opt/rocm & easy to use build.sh

Change-Id: I1ac5b51eafb54ef0359bf6fb55f2fe2d39a6cafa


[ROCm/rocprofiler commit: 0faaa83de7]
2022-05-03 20:13:02 -05:00
Kiumars Sabeti 32684591d2 Merge "SWDEV-320429: wrapping the comma-containing names in the .csv in double quotes at the time the .csv is generated" into amd-staging
[ROCm/rocprofiler commit: 94004e592c]
2022-04-29 17:37:41 -04: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 63964277e5 Fixing header file location
prof_protocol.h is now located in /opt/rocm/include/roctracer/ext instead /opt/rocm/roctracer/include/ext

Change-Id: I98623dcf3c2e6bcef128c1ef35959ef0a4a1d63f


[ROCm/rocprofiler commit: 1f5b02f9c8]
2022-04-23 13:22:36 +00:00
Sriraksha Nagaraj 19f8e3147a SWDEV-311412: Fixing rocprof application runs fail. Added a check in cmake_modules/env.cmake to check if aqlprofile library is found.
Change-Id: I9ff702bc0b4074101cca7beb78e711ce417308cd


[ROCm/rocprofiler commit: 071379be99]
2022-04-18 17:38:49 -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
Saravanan Solaiyappan bd56d8eb67 Merge "rocprofiler: Consider apt upgrade operation check in package scripts." into amd-staging
[ROCm/rocprofiler commit: a1dde130de]
2022-03-22 12:40:31 -04:00
MarkDavid Laws e664ef8f48 Merge "SWDEV-283957 : Emit correct group name for rocprof split metrics" into amd-staging
[ROCm/rocprofiler commit: 4998b150ee]
2022-03-22 11:52:47 -04:00
Saravanan Solaiyappan 103f41f210 rocprofiler: Consider apt upgrade operation check in package scripts.
Include the upgrade operation check in the prerm script
in package.

Signed-off-by: Saravanan Solaiyappan <saravanan.solaiyappan@amd.com>
Change-Id: Ia2bf70bc3c8ce4ddb099ac58f32e165a0fe58824


[ROCm/rocprofiler commit: 39ca27d923]
2022-03-21 23:38:14 -04:00
Chun Yang b9d8cc066a SWDEV-324379 : Expose FP64 and FP32 performance counters on on AMD profilers for MI200
Change-Id: I2c38ccc297872dfc1896314ceadbed98dc761766


[ROCm/rocprofiler commit: 26c479c72a]
2022-03-17 14:06:24 -07: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
Mark Laws 5c00c7f844 SWDEV-283957 : Emit correct group name for rocprof split metrics
Change-Id: Id096edd03bb5be9c8082296fdb659845f2b9c7a6


[ROCm/rocprofiler commit: a11ac0a632]
2022-03-01 11:16:00 -06: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 349103480e replace the set of CMAKE_SHARED_LINKER_FLAGS with add_link_options.
Change-Id: Iaf8fc1d7680196662d610f34979ded07c6287df9


[ROCm/rocprofiler commit: 5693e1a140]
2022-02-03 12:31:45 -05:00
Ammar ELWazir 233b761c68 SWDEV-318551: Adding License file for profiler
Making the new License file, Adding support in the CMakeLists.txt

Change-Id: I785035a780fbfc59951fc27d45f9c1869ffb4fb3


[ROCm/rocprofiler commit: c19cfbfffd]
2022-01-26 13:38:42 -05:00
Icarus Sparry d3315045ee Allow owner write permission
If we are packaging debug information then we need to edit the created
libraries and executables to extract the debug information. Due to a
bug in the tooling this requires write access to the created files.

Allow generation of only rpm and only deb files is specified on the
command line.

Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>
Change-Id: I9a9df81102770ba681b1e7e0b5f704990f5435bb


[ROCm/rocprofiler commit: 6676d60516]
2021-11-24 20:59:34 +00:00
Icarus Sparry 0f272c9815 Merge "Allow creation of just deb or rpm" into amd-staging
[ROCm/rocprofiler commit: 39a11d7dc4]
2021-11-15 23:03:57 -05:00
Icarus Sparry ca611a0a72 Allow creation of just deb or rpm
Remove hard code of generating both deb and rpm, allow the user to
specify what is desired and cache that choice.

Create executable with owner write permission to work around binutils
bug.

Change-Id: I67655e5d351b227d1a8db4645228300d2bb83f9a
Signed-off-by: Icarus Sparry <icarus.sparry@amd.com>


[ROCm/rocprofiler commit: f4c7309592]
2021-11-16 00:14:14 +00: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
Laurent Morichetti 535a2f713d Install merge_traces.sh in $prefix/bin
Change-Id: I6cea078e5b64a68d7bd269dc3aab976a7ab7b5c7


[ROCm/rocprofiler commit: 63d20312ae]
2021-10-05 21:29:53 -07:00
Chun Yang b02e28f286 SWDEV-283942 SWDEV-292075
Fixed exception thrown when ROCP_HSA_INTERCEPT not set or set to 0;
Fixed ROCM hsa_init() failed with error 4096 when trying to read hardware performance counters;
Fixed LD_LIBRARY_PATH to include necessary library;

Change-Id: Idcb7ff807a79f4267374c34041d3bca33d85f532


[ROCm/rocprofiler commit: a8b5d6cf33]
2021-10-05 10:44:26 -04:00
Chun Yang 7978c0b16b Fixed corrupted multithread map handling
Change-Id: Ib7d33a4b7f3306b7195ff89c28b021fb1fa6bc88


[ROCm/rocprofiler commit: 2519d00c17]
2021-10-04 20:06:32 -04:00
Chun Yang f598d32e6c Merge "Changed function param passing from ref to value" into amd-staging
[ROCm/rocprofiler commit: 6820a07d1a]
2021-09-30 12:03:32 -04:00
Chun Yang a8d90ef90a Changed function param passing from ref to value
Change-Id: I4e5feec09705e4e4bab5f9dcf320fc25a59c0762


[ROCm/rocprofiler commit: d024c48c56]
2021-09-29 18:46:42 -07: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 0b5a36db69 Get ROCr and ROCt dependencies using cmake targets
Instead of detecting files (header/library), use cmake's find_package to
locate the required dependencies (hsa-runtime64 and hsakmt).

Adding hsa-runtime64::hsa-runtime64 and hsakmt::hsakmt to the
target_link_libraries also takes care of adding the interfaces include
directories to the search path.

Change-Id: I64eb77c97dac7982ac96d3158ad57df776cc0b53


[ROCm/rocprofiler commit: acb246f788]
2021-09-14 14:49:32 -07:00
Chun Yang 993c438e55 Merge "SWDEV-301543 SWDEV-276146 : Fix profile output buff allocation" into amd-staging
[ROCm/rocprofiler commit: 4409957364]
2021-09-08 13:27:01 -04:00
Chun Yang f5e00dec76 SWDEV-301543 SWDEV-276146 : Fix profile output buff allocation
L2 flush is triggered by explicit cache flush PM4 packet in aqlprofile
packets to GPU. This cache flush is used to sync up CPU and GPU to make
sure perfomance counters copied to profile output buffer is visible to
CPU. To get rid of this cache flush the followings are done:
  1. This explicit cache flush packet is removed from aqlprofile code
     (another commit to aqlprofile code).
  2. This commit which changed profile output buffer to use kernarg
     memory since it is uncached for GPU.
After these changes profile counter values when copied by GPU to output
buffer they are guaranteed to be visible to CPU.

Change-Id: Ie953949c85fbee2f4369f1de966bcfb33daec084


[ROCm/rocprofiler commit: 2b79931631]
2021-09-02 17:30:57 -07:00
Laurent Morichetti 97c747d8dc Merge "Merge roctx_trace.txt" into amd-staging
[ROCm/rocprofiler commit: d926d09134]
2021-09-02 12:31:29 -04:00