커밋 그래프

451 커밋

작성자 SHA1 메시지 날짜
Ammar ELWazir 0be6306cae 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
2022-05-20 05:26:33 -04:00
Ranjith Ramakrishnan 44cbb66a16 Merge "SWDEV-321112: Use GNUInstallDirs" into amd-staging 2022-05-19 14:11:17 -04:00
Ranjith Ramakrishnan b24e05e138 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
2022-05-19 14:07:42 -04:00
Saurabh Verma 6d233c65d7 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
2022-05-17 16:44:16 -05:00
Laurent Morichetti 0123aa61fa 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
2022-05-04 19:19:34 -07:00
Ammar ELWazir 0faaa83de7 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
2022-05-03 20:13:02 -05:00
Kiumars Sabeti 94004e592c Merge "SWDEV-320429: wrapping the comma-containing names in the .csv in double quotes at the time the .csv is generated" into amd-staging 2022-04-29 17:37:41 -04:00
Kiumars Sabeti 4d99f8d8e5 SWDEV-320429: wrapping the comma-containing names in the .csv in double quotes at the time the .csv is generated
Change-Id: I62f94a1cf8895eb324080f8aacac3f13c02d7050
2022-04-27 20:45:51 -04:00
Ammar ELWazir 1f5b02f9c8 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
2022-04-23 13:22:36 +00:00
Sriraksha Nagaraj 071379be99 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
2022-04-18 17:38:49 -04:00
Ammar ELWazir 1f925b3f16 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
2022-04-13 12:58:31 +00:00
Laurent Morichetti 1078a088e9 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
2022-04-07 18:03:03 -07:00
Ammar ELWazir 46c4e5045a 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
2022-03-25 05:09:52 +00:00
Ammar ELWazir fd4767d954 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
2022-03-24 10:22:52 -04:00
Saravanan Solaiyappan a1dde130de Merge "rocprofiler: Consider apt upgrade operation check in package scripts." into amd-staging 2022-03-22 12:40:31 -04:00
MarkDavid Laws 4998b150ee Merge "SWDEV-283957 : Emit correct group name for rocprof split metrics" into amd-staging 2022-03-22 11:52:47 -04:00
Saravanan Solaiyappan 39ca27d923 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
2022-03-21 23:38:14 -04:00
Chun Yang 26c479c72a SWDEV-324379 : Expose FP64 and FP32 performance counters on on AMD profilers for MI200
Change-Id: I2c38ccc297872dfc1896314ceadbed98dc761766
2022-03-17 14:06:24 -07:00
Ranjith Ramakrishnan d891915a16 Merge "File Reorganization with backward compatibility" into amd-staging 2022-03-08 14:09:13 -05:00
Ranjith Ramakrishnan 015697db74 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
2022-03-05 14:49:41 -08:00
Ammar ELWazir 7a9692766d 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
2022-03-04 12:22:37 -05:00
Mark Laws a11ac0a632 SWDEV-283957 : Emit correct group name for rocprof split metrics
Change-Id: Id096edd03bb5be9c8082296fdb659845f2b9c7a6
2022-03-01 11:16:00 -06:00
Saurabh Verma 7a7c73b7d8 SWDEV-299902: merge_traces script from rocprof fails to include GPU / HSA / ROCTX activity in merged trace
Change-Id: I29cfd6cfaf34bfa588bd90774db6d8ac501e8aa8
2022-02-18 16:11:08 -06:00
kiumars 5693e1a140 replace the set of CMAKE_SHARED_LINKER_FLAGS with add_link_options.
Change-Id: Iaf8fc1d7680196662d610f34979ded07c6287df9
2022-02-03 12:31:45 -05:00
Ammar ELWazir c19cfbfffd SWDEV-318551: Adding License file for profiler
Making the new License file, Adding support in the CMakeLists.txt

Change-Id: I785035a780fbfc59951fc27d45f9c1869ffb4fb3
2022-01-26 13:38:42 -05:00
Icarus Sparry 6676d60516 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
2021-11-24 20:59:34 +00:00
Icarus Sparry 39a11d7dc4 Merge "Allow creation of just deb or rpm" into amd-staging 2021-11-15 23:03:57 -05:00
Icarus Sparry f4c7309592 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>
2021-11-16 00:14:14 +00:00
kiumars 7a8f5b5e90 SWDEV-303820: [LLNLA-63]rocprof does not check input arguments at start
Change-Id: I820a2b6df10b799f776518a98519e9c8ca40ec53
2021-11-11 17:31:56 -05:00
Laurent Morichetti 63d20312ae Install merge_traces.sh in $prefix/bin
Change-Id: I6cea078e5b64a68d7bd269dc3aab976a7ab7b5c7
2021-10-05 21:29:53 -07:00
Chun Yang a8b5d6cf33 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
2021-10-05 10:44:26 -04:00
Chun Yang 2519d00c17 Fixed corrupted multithread map handling
Change-Id: Ib7d33a4b7f3306b7195ff89c28b021fb1fa6bc88
2021-10-04 20:06:32 -04:00
Chun Yang 6820a07d1a Merge "Changed function param passing from ref to value" into amd-staging 2021-09-30 12:03:32 -04:00
Chun Yang d024c48c56 Changed function param passing from ref to value
Change-Id: I4e5feec09705e4e4bab5f9dcf320fc25a59c0762
2021-09-29 18:46:42 -07:00
Chun Yang ff43ca1542 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
2021-09-29 09:15:11 -07:00
Chun Yang f9017cbdc5 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
2021-09-23 14:52:35 -07:00
Saurabh Verma ca059e1aa9 SWDEV-296100: hipStreamWaitValue64 and hipStreamWriteValue64 break rocprof
Change-Id: I5b31affa6df4359a02014b87b825554ac5519c1a
2021-09-15 12:07:40 -04:00
Laurent Morichetti acb246f788 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
2021-09-14 14:49:32 -07:00
Chun Yang 4409957364 Merge "SWDEV-301543 SWDEV-276146 : Fix profile output buff allocation" into amd-staging 2021-09-08 13:27:01 -04:00
Chun Yang 2b79931631 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
2021-09-02 17:30:57 -07:00
Laurent Morichetti d926d09134 Merge "Merge roctx_trace.txt" into amd-staging 2021-09-02 12:31:29 -04:00
rachida 6f31192501 SWDEV-295878 Fix for seg fault when using --trace-start off
Change-Id: I94d95dd4fb49aace5f1ee006c47b94573f997b85
2021-08-31 16:49:48 -04:00
Laurent Morichetti 6fe4a5db51 Move spmltgen.py to amd-npi
Change-Id: I63e67193453e2c5479a03a8c9c97f94eced04268
2021-08-20 10:45:39 -07:00
rachida f1c0faa601 SWDEV-294331 Fix for memcopy Incorrect number of bindings error
Change-Id: I6dabca411bab567b27db8ef801006b393b22788e
2021-08-13 15:53:22 -07:00
Tony Tye 99a5d6e75d Merge "SWDEV-296154 rocprofiler test suite is failing" into amd-staging 2021-08-12 02:29:52 -04:00
Ammar Elwazir a3700a9243 Merge "SWDEV-294319 & SWDEV-294321 Added support for missing functions" into amd-staging 2021-08-11 21:52:31 -04:00
Ammar ELWazir 14b62557d0 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
2021-08-11 12:25:06 -04:00
rachida 312048b38d SWDEV-296154 rocprofiler test suite is failing
Change-Id: Id2b0ade0a475e38ea54671802e16b25d5beabed8
2021-08-11 10:41:26 -04:00
Laurent Morichetti 4ab94c410a 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
2021-08-05 09:04:26 -07:00
Ammar ELWazir 804e063eda 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
2021-08-02 16:55:33 -04:00