Commit Graph

27 Commits

Author SHA1 Message Date
Mythreya 46e02a9866 Add MI200/MI300 counters
Revision - Addition [Impact SoC: MI200, MI300]
    Note: this set of counters are important help understand the
          bottleneck.
    1.	TCC_TAG_STALL
        a.	Metric:  TCC_TAG_STALL/TCC_CYCLE: percentage of time TCC
            tag lookup pipeline is stalled
    2.	TCP_TCR_TCP_STALL_CYCLES
        a.	Metric: TCP_TCR_TCP_STALL_CYCLES/TCP_GATE_EN1: percentage
            of time TCP is stalled by TCR

Revision - Addition [Impact SoC: MI300]
    3.	TCC_BUBBLE:
        a.	Definition: Number of 128-byte read requests sent to EA
        b.	Revised Metric #1, TCC-EA Read BW:
        ReadBW =   128 * TCC_BUBBLE
                + 64 * (TCC_EA0_RDREQ - TCC_BUBBLE - TCC_EA0_RDREQ_32B)
                + 32 * TCC_EA0_RDREQ_32B
        c.	Revised Metric #2: TCC_EA Read Latency
        ReadLatency = TCC_EA0_RDREQ_LEVEL / (TCC_BUBBLE + TCC_EA0_RDREQ)

    /* [Fineprint] More detailed arithmetic:
    * ReadLatency = TCC_EA0_RDREQ_LEVEL / (#32B_req + #64B_req + #128B_req * 2)
    */

Change-Id: I0a2dfc1b64ca97023b1e8ba0f9830330b3034946
2023-10-30 15:38:46 -04:00
Mythreya 1fae494b12 Remove non-functional counters for MI200 and MI300
Counters removed for MI300 (gfx940)
    TCP_TCC_WRITE_REQ_HOLE_LATENCY
    TCP_TCC_WRITE_REQ_LATENCY
    TCP_TCC_READ_REQ_LATENCY
    TCP_TCP_LATENCY

Counters removed for MI200 and MI300 (gfx90a and gfx940 respectively)
    TA_BUFFER_COALESCABLE_WAVEFRONT
    TA_FLAT_COALESCABLE_WAVEFRONT
    TCC_EA0_WRREQ_IO_CREDIT_STALL
    TCC_EA0_WRREQ_GMI_CREDIT_STALL
    TCC_EA0_WRREQ_DRAM_CREDIT_STALL
    TCC_EA0_RDREQ_IO_CREDIT_STALL
    TCC_EA0_RDREQ_GMI_CREDIT_STALL
    TCC_EA0_RDREQ_DRAM_CREDIT_STALL

Change-Id: Ic3d1e7bf35495f35b1239f03ca6420e949421386
2023-10-26 12:50:57 -04:00
Giovanni LB 43e259e5da SWDEV-419944: Added metrics for gfx1102
Change-Id: I5c69ff716f530d130710c0687f20e5bc990a60eb
2023-09-11 13:59:33 -04:00
Saurabh Verma b7d045c672 SWDEV-400688: Correction for block instance count referenced in xml for MI300 metrics
Change-Id: I8b84f5d018d64104ed3d1bedeff272fd5e7437ca
2023-06-21 16:26:59 -04:00
Giovanni LB a1508035dc SWDEV-298742: Added occupancy metrics
Change-Id: I67e375ad06535bbb8cc864b78840ce3962bcc58e
2023-06-19 12:10:22 -04:00
Giovanni LB e1285e3fd4 SWDEV-405575: Added gfx941 and gfx942
Change-Id: I45a49cd64a76d3ae32c209497c70fe27b5be212b
2023-06-19 11:11:37 -04: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
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
Kiumars Sabeti a9f1237c53 SWDEV-387039: Modified gfx90a section to inherit from gfx9 base and removed derived counters that are defined in the gfx9 base from gfx90a section to avoid duplication
Change-Id: I653e116bc47fe11b57e663c2827d177149b00c5b
2023-03-29 15:55:06 +00:00
Saurabh Verma 225bddf148 Adding missing MI200 metrics
Change-Id: I410f50e03d38bb03cf43e743318eb1242e7d6518
2023-01-11 18:00:46 +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
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
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
Evgeny aecc7abc76 Mem32Bwrites -> MemWrites32B renaming
Change-Id: I86f570b97178caa3d3d5fcbc5ecc716216dad504
2019-08-22 22:34:36 -05:00
Evgeny dff3256dd5 mi100 metrics fix
Change-Id: I862578a2b7827a88cc6926d636d5eb9a8320a244
2019-08-22 22:30:48 -05:00
Evgeny 82ecf9e7a4 overwriting on inheritance
Change-Id: I6faf79874fc14e898c75972aa2f372e228105f7b
2019-08-08 01:54:29 -05:00
Evgeny 09eed4f35b gfx908 events update
Change-Id: Ieb7c72f66b7e5e5dfc29d97650a29722a6276a31
2019-08-07 19:44:31 -05:00
Evgeny 855a801ae7 adding gfx908 namespace
Change-Id: Ifd45385777be5066c8bfef23ee24bbabadf4dffa
2019-07-27 03:06:10 -05:00
Xianwei Zhang ca9a714b77 xml: add extra events for gfx906 GPUs
Compard to gfx900, e.g., Vega 10, gfx906 adds extra counter events.
A typical difference is on TCC-EA that gfx906 (e.g., Vega 20) has 2
EAs per TCC, while only one single EA/TCC on gfx900. As such,
additional counters must be profiled to get correct results. This
patch adds one extra events to specifically handle gfx906.

Change-Id: Id6c9d37548a102c80bbfddcfa11e77d20f17431a
2019-07-16 12:56:45 -05:00
Xianwei Zhang 8b445d2c00 test: add tests to validate cache/mem blocks
To validate cache and memory blocks profiling, this patch prepares
tests to profile dedicated kernels using specified counters, to
compare the profiled results against expected ones, and further
show the test is a fail or pass.  Tests here are focusing on cache
hit/miss, memory fetch/write size.

Change-Id: Icbc8096a6e15256dec66297597a57c7665a533b8
2019-07-16 12:39:38 -05:00
Evgeny 46fd670818 adding xml inheritance
Change-Id: Iafbfb8a6fb1936cf1315c1f5215879e99187da77
2019-07-16 09:20:53 -07:00
Evgeny ea0a1110dc minor changes
Change-Id: I16444de8c5d83a9f33392ac870d2fc188978ab54
2018-12-18 09:51:47 -06:00
Evgeny 812c17ed77 rpl_run data extracting error message; comments for intermediate metrics
Change-Id: I4d9f97ed475d3ec328aafae40f1bc80b6bf69bcc
2018-11-01 13:38:01 -05:00
Evgeny 3b7b958a5a - cleanup;
- metrics descriptions;

Change-Id: I9087f41a4ba3ed6c94039ac921407aa13529bf6c
2018-08-20 00:40:10 -05:00
Evgeny add56e26ae license annotations
Change-Id: I96b8f625a03b707b45aee6b8e7dbfabe073294c6
2018-06-25 19:52:28 -05:00
Evgeny b8fc3818de adding dispatch_packet field to rocprofiler_callback_data_t
Change-Id: I3cbe256130fa23dd24b094f27286d566ed339230
2018-05-22 13:17:03 -05:00
Evgeny 71044909ce test structure refactoring, unifying with aqlprofile
Change-Id: Icad642413c7edb27885effc9da3524cf3899f8de
2018-05-03 16:47:18 -05:00