Graphe des révisions

227 Révisions

Auteur SHA1 Message Date
Ammar ELWazir 941a0373e6 Fixing Kernel Dispatches timestamps issue
Change-Id: I4946ea13e2796b018dc3a9114c232b0fa5f483dc
2023-06-02 02:02:22 +00:00
Ammar ELWazir 4bcef6b8de Removing ROCMTools naming from ROCProfiler project
Change-Id: Ibd6211e031157f68a1bc3dd8dd77385e695cb700
2023-05-30 22:14:50 -05:00
Ammar ELWazir 08fc21ac31 SWDEV-403050: Multiple fixes for Memory Leaks in profiler
Change-Id: Ib720a81105af13898ff745ce0cbc2a48c1f4a980
2023-05-30 21:41:54 -05:00
Ammar ELWazir 00ecca25c7 Fixing Multiple Profiler Issues:
1- Fixing Output Buffer Issues
2- Metrics Instances created for all GPUs in Init
3- Multi CPU/GPU/KernArg Pools are initialized for every Agent in Init
4- Lowering OverHead in the Packet WriteInterceptor in the ProxyQueue for both Profile Counting & ATT

Change-Id: Ic3d78156af8405bb134d01584574c339237d265f
2023-05-30 21:41:54 -05:00
Saurabh Verma b72fa8b125 corrected the gpu-id in the profiler record for MI300 individual xcc mode
Change-Id: Iec0163a67dd28b556f73ef7ff376d6d7040ba4c5
2023-05-30 21:41:54 -05:00
Saurabh Verma 58c4b165fe PLAT-130886: Support for MI300 XCC modes for rocprofv2
1. Accumulated mode(default mode) will aggregate counters and metric values from all xcc.
2. Individual mode (export ROCPROFILER_INDIVIDUAL_XCC_MODE=1) will dump metrics from each xcc separately.

Change-Id: I18ca334514f626f0c8e92d1472c1738978baccd4
2023-05-30 21:41:54 -05:00
Saurabh Verma 8f82ff6a46 MI300 counters support for rocprof and rocprofv2(Accumulation from all xccs)
1. Xml files updated for gfx940 counters
2. File plugin changes to allow rocprofv2 backward compatibility for results.csv
3. Changes in rocprofv2 script to use tblextr.py, to generate results.csv just like rocprof

Change-Id: I7798f4411ce01f6fbfffb126de654ed806ca7045
(cherry picked from commit 86cbaf38c436be876f0426fa27803b1e64d90378)
2023-05-30 21:41:54 -05:00
Ammar ELWazir 6b07b139c4 Fixing Timestamps for Tracing for the trace buffer results
Change-Id: I89b36daacb6531840ac334ba4629c73a7b8f1e79
2023-05-25 01:59:54 +00:00
Ammar ELWazir 05ed06f883 Fixing queue.cpp as record_id is being generated as transferred in the signal handler arguments as the kernel_name id
Change-Id: Ic89d1dad4993a5a78e19e416248208a3e4980538
2023-05-23 04:38:16 +00:00
Ammar ELWazir b6bcb5cd50 SWDEV-401678: Fixed Generated Record IDs missed between different threads
Change-Id: I7f78224dcc317668ee3c54279435f253121ad539
2023-05-23 04:38:16 +00:00
Ammar ELWazir f7e7255f10 Fixing Record ID in queues.cpp
Change-Id: I39aa90cdf399f47272b710a5377841c29708dfda
2023-05-19 16:56:22 +00:00
gobhardw c3107fc258 SWDEV-398161, SWDEV-398764 Fixed --hsa-api for v2
Change-Id: I1902ff463851a3485b48f7b9400f7116a073365a
2023-05-17 17:22:44 -04:00
Giovanni LB edbac98594 SWDEV-380635: Added metrics in src/core for gfx11
Change-Id: I4e2003a6bff8ce06ecd3c8e07354e67f053683b5
2023-05-05 15:39:30 -04:00
Kiumars Sabeti 997c771723 SWDEV-380635: adding gfx11 architecture to rocprofiler which includes navi31 and navi32 for now
Change-Id: Ib2a93a34688471c82b5db0dc10e8da58452dba21
2023-05-05 15:39:18 -04:00
Giovanni LB ba620ee7c6 SWDEV-389947: Fixing GPU memory being allocated for every kernel. Reduced python memory usage.
Change-Id: I74d31581653e53e529f148b272f5217a1edcf288
2023-05-05 11:26:34 -04:00
Ammar ELWazir 9e62e066fe V1/V2 API Library Separation
V1 library will be supported as librocprofiler64.so and V2 will be supported as librocprofiler64v2.so and headers will be rocprofiler.h for V1 and v2/rocprofiler.h for v2

Change-Id: Ibe5bdbf2f79f0175342c648e917ae77918186604
2023-05-02 22:44:43 -04:00
Giovanni LB 40619ac19c Navi21 support for ATT
Change-Id: I24f4a9ca6df805ec05163863490280f8f0a40930
2023-04-25 12:18:36 -04:00
gobhardw 40bfdcade0 SWDEV-388249: Memory leak fix
Change-Id: I68c62ee42e6d37fb85a1a8aa0d7a2cbda6431a8b
2023-04-25 12:12:43 +05:30
Giovanni LB c07eff437f SWDEV-388249: WIP - Fixed few memory leaks
Change-Id: I97eb348c7715ac166f48cee3fd3d1b702d355948
2023-04-24 17:58:46 -03:00
Giovanni LB 579d59698a SWDEV-393614: Zero-ed record struct on allocation.
Change-Id: I0c1fa995e336e21d66851ac621114b8e88786c94
2023-04-21 11:37:38 -04:00
Ammar ELWazir 1322e527a6 Fixing Kernel Names
The lifetime of the kernel descriptor handle is unknown, so we currently uses the record id to identify the kernel name

Change-Id: I8802ce245bb021bcb43dd97cd6334bc88de0faf4
2023-04-21 03:17:33 -04:00
Ammar ELWazir 29b25a3ef5 Adding Async output for API Tracing
If rocprofiler_set_api_trace_sync_callback is not called by the API client then it will be automatically saved in the buffer and it will be in async to the user to see the API trace data, sample for async api tracing is added to samples/tracer

Change-Id: I01266a12b0eec172fdcffd7f04c89c2fe96174bb
2023-04-21 03:17:27 -04:00
Ammar ELWazir 4a33787c01 Fixing Performance Issue with API Tracing V2
Records right now will report basic raw data, no pre-processing in API anymore, and it will be left to the tool to process data from the output of synchronous callbacks of the API tracing records output

Change-Id: I8e5845e49e1228cb2fb60ca188ee748745b6a1af
2023-04-21 03:17:17 -04:00
Ammar ELWazir 7621626559 Handling Corrupted kernel names
Change-Id: I660cefa1d6fadfd6cf59fe57b70b718c5e17aa75
2023-04-18 19:28:22 +00:00
Sriraksha Nagaraj d410ba3864 SWDEV-391217:Adding a fix to display kernel properties values
Change-Id: Icde93e81f7024e699bebec32e3b3315c8ae811fa
2023-04-11 03:56:46 +00:00
Ammar ELWazir da570693e3 Fixing Dispatch numbers
Change-Id: I2c8fb4aedfde68acaeb36cbb2e3263a0317011a7
2023-03-09 13:21:08 +00:00
Ammar ELWazir 118dcab102 Solving merge issues between v1 and v2
Change-Id: Ic7fcf7dfb55e893ebc78abb5b33ed79873ea73da
2023-03-09 13:21:08 +00:00
Giovanni LB cb07947ad4 SWDEV-385374: Fixed next record iteration.
Change-Id: I69e86f2c27ea9a8b02cb48d876534b1dd0f6dc4f
2023-03-09 13:21:07 +00:00
gobhardw 34e62464ee SWDEV-297569: Support for xgmi counters
Change-Id: If14c0f63821b721fe719d3b76915afc2f2333d5c
2023-03-09 13:21:07 +00:00
Saurabh Verma 3a639543e7 SWDEV-297574: Support for pcie counters
Change-Id: I4a662c43a9d0cf883f336574baa09fc33b78b9af
2023-03-09 13:21:06 +00:00
Ammar ELWazir dc69331379 Fixing rocprofilerv2 naming and CMake issues
Change-Id: Ib6d336349a056731e5c0f35151296d6fea671360
2023-03-09 13:21:01 +00:00
Sriraksha Nagaraj 1d0703b21e SWDEV-382125: Adding a description when counter is not supported on a hardware
Change-Id: Ic835f59029aa1a95d32b80bf79375978e8ea9635
2023-03-09 13:20:37 +00:00
gobhardw 03c305dbd4 Making ATT work with Profilerv2
Change-Id: Ic9334aa80e40faaaf5c1a79ba37dbe52e8d31253
2023-03-09 13:20:35 +00:00
Ammar ELWazir 8032adb64f Adding rocprofilerv2
Change-Id: Ic0cc280ba207d2b8f6ccae1cd4ac3184152fc1ad
2023-03-09 13:20:33 +00:00
Kiumars Sabeti b53fd84ade SWDEV-302380: [ROCm QA][Mainline][Navi21] 6 tests are failing in rocprofiler-stg2
This is an attempt to support basic and derived counters for navi21.  This code will not work correctly unless we add navi counters to metrics.xml and gfx_metrics.xml

Change-Id: Ied06a81345a6fbb02fa0fde1889d94bbe64e9a03
2022-08-05 17:31:37 -04:00
Ranjith Ramakrishnan e7eb195924 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
2022-07-14 16:08:41 -07: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
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 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
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
Chun Yang 55fdd451f3 Change obj_map_ from pointer to object
Change-Id: Ibc2fb8812c34b44d7b59275f2850bb127b9def7c
2021-07-28 11:52:44 -07:00
AMD 4df3e0bd9a Add support for gfx90a
Merge gfx90a support from the 'amd-npi' branch.

Change-Id: I9b51711ed4a1d2f1ed42ba9b83cb12136be228b8
2021-06-16 16:35:42 -07:00
Chun Yang 6da2b19562 SWDEV-283942 : Fixed false error report from rocprofiler
Change-Id: Ifc6eb0cb26f60a5596e1b626a578135ae9080f26
2021-05-17 14:16:50 -07:00
Rachida Kebichi a2d89f22a7 Fixed order of code obj and symbols processing
Change-Id: Icb3341e54f3e0c7cf3da06811712f001e213d83d
2021-04-22 20:27:26 -04:00
Evgeny c4828a9de0 concurrent: enable PmcStopper to end perf counting.
Change-Id: I89785277678141e29349e162df10203787050643
2021-04-09 08:06:42 +00:00
Evgeny e2c9d13e5b SWDEV-274821 SPM initialization fix
Change-Id: I5e27928a60083eff328bab3e79937ce11bce11bd
2021-03-22 09:18:36 +00:00
Evgeny fb82ddee81 adding GPU command functions module
Change-Id: Id2c2d82ea6fee42695309ad3bb296effa77a2f33
2021-02-03 04:45:59 -05:00
Evgeny 96ff7582ce porting of AQL packet submit to new atomic HSA queue API
Change-Id: I654448a7a8627978395d426118a5cb3ba2a92058
2020-10-12 09:26:27 -05:00
Evgeny 97caab40da SWDEV-255459 : to get rid of c++ libatomic
Change-Id: I311db0e456dd6e6c87692898640574dc8f669086
2020-10-09 07:39:43 -04:00