diff --git a/rocclr/runtime/device/pal/palcounters.cpp b/rocclr/runtime/device/pal/palcounters.cpp index 0370dac1dd..3020a66f04 100644 --- a/rocclr/runtime/device/pal/palcounters.cpp +++ b/rocclr/runtime/device/pal/palcounters.cpp @@ -486,6 +486,146 @@ static const std::array, 125> gfx9BlockIdPal = {{ {0x1F, 7}, // RMI - 124 }}; +static const std::array, 137> gfx10BlockIdPal = { { + { 0x0E, 0 }, // CB0 - 0 + { 0x0E, 1 }, // CB1 - 1 + { 0x0E, 2 }, // CB2 - 2 + { 0x0E, 3 }, // CB3 - 3 + { 0x00, 0 }, // CPF - 4 + { 0x0D, 0 }, // DB0 - 5 + { 0x0D, 1 }, // DB1 - 6 + { 0x0D, 2 }, // DB2 - 7 + { 0x0D, 3 }, // DB3 - 8 + { 0x11, 0 }, // GRBM - 9 + { 0x12, 0 }, // GRBMSE - 10 + { 0x03, 0 }, // PA_SU - 11 + { 0x03, 0 }, // PA_SC - 12 + { 0x05, 0 }, // SPI - 13 + { 0x06, 0 }, // SQ - 14 + { 0x06, 0 }, // SQ_ES - 15 + { 0x06, 0 }, // SQ_GS - 16 + { 0x06, 0 }, // SQ_VS - 17 + { 0x06, 0 }, // SQ_PS - 18 + { 0x06, 0 }, // SQ_LS - 19 + { 0x06, 0 }, // SQ_HS - 20 + { 0x06, 0 }, // SQ_CS - 21 + { 0x07, 0 }, // SX - 22 + { 0x08, 0 }, // TA0 - 23 + { 0x08, 1 }, // TA1 - 24 + { 0x08, 2 }, // TA2 - 25 + { 0x08, 3 }, // TA3 - 26 + { 0x08, 4 }, // TA4 - 27 + { 0x08, 5 }, // TA5 - 28 + { 0x08, 6 }, // TA6 - 29 + { 0x08, 7 }, // TA7 - 30 + { 0x08, 8 }, // TA8 - 31 + { 0x08, 9 }, // TA9 - 32 + { 0x08, 0x0a }, // TA10 - 33 + { 0x08, 0x0b }, // TA11 - 34 + { 0x08, 0x0c }, // TA12 - 35 + { 0x08, 0x0d }, // TA13 - 36 + { 0x08, 0x0e }, // TA14 - 37 + { 0x08, 0x0f }, // TA15 - 38 + { 0x0C, 0 }, // TCA0 - 39 + { 0x0C, 1 }, // TCA1 - 40 + { 0x0B, 0 }, // TCC0 - 41 + { 0x0B, 1 }, // TCC1 - 42 + { 0x0B, 2 }, // TCC2 - 43 + { 0x0B, 3 }, // TCC3 - 44 + { 0x0B, 4 }, // TCC4 - 45 + { 0x0B, 5 }, // TCC5 - 46 + { 0x0B, 6 }, // TCC6 - 47 + { 0x0B, 7 }, // TCC7 - 48 + { 0x0B, 8 }, // TCC8 - 49 + { 0x0B, 9 }, // TCC9 - 50 + { 0x0B, 0x0a }, // TCC10 - 51 + { 0x0B, 0x0b }, // TCC11 - 52 + { 0x0B, 0x0c }, // TCC12 - 53 + { 0x0B, 0x0d }, // TCC13 - 54 + { 0x0B, 0x0e }, // TCC14 - 55 + { 0x0B, 0x0f }, // TCC15 - 56 + { 0x09, 0 }, // TD0 - 57 + { 0x09, 1 }, // TD1 - 58 + { 0x09, 2 }, // TD2 - 59 + { 0x09, 3 }, // TD3 - 60 + { 0x09, 4 }, // TD4 - 61 + { 0x09, 5 }, // TD5 - 62 + { 0x09, 6 }, // TD6 - 63 + { 0x09, 7 }, // TD7 - 64 + { 0x09, 8 }, // TD8 - 65 + { 0x09, 9 }, // TD9 - 66 + { 0x09, 0x0a }, // TD10 - 67 + { 0x09, 0x0b }, // TD11 - 68 + { 0x09, 0x0c }, // TD12 - 69 + { 0x09, 0x0d }, // TD13 - 70 + { 0x09, 0x0e }, // TD14 - 71 + { 0x09, 0x0f }, // TD15 - 72 + { 0x0A, 0 }, // TCP0 - 73 + { 0x0A, 1 }, // TCP1 - 74 + { 0x0A, 2 }, // TCP2 - 75 + { 0x0A, 3 }, // TCP3 - 76 + { 0x0A, 4 }, // TCP4 - 77 + { 0x0A, 5 }, // TCP5 - 78 + { 0x0A, 6 }, // TCP6 - 79 + { 0x0A, 7 }, // TCP7 - 80 + { 0x0A, 8 }, // TCP8 - 81 + { 0x0A, 9 }, // TCP9 - 82 + { 0x0A, 0x0a }, // TCP10 - 83 + { 0x0A, 0x0b }, // TCP11 - 84 + { 0x0A, 0x0c }, // TCP12 - 85 + { 0x0A, 0x0d }, // TCP13 - 86 + { 0x0A, 0x0e }, // TCP14 - 87 + { 0x0A, 0x0f }, // TCP15 - 88 + { 0x0F, 0 }, // GDS - 89 + { 0x02, 0 }, // VGT - 90 + { 0x01, 0 }, // IA - 91 + { 0x15, 0 }, // MC - 92 + { 0x10, 0 }, // SRBM - 93 + { 0x18, 0 }, // WD - 94 + { 0x16, 0 }, // CPG - 95 + { 0x17, 0 }, // CPC - 96 + { 0x1A, 0 }, // ATC - 97 + { 0x1B, 0 }, // ATCL2 - 98 + { 0x1C, 0 }, // MCVML2 - 99 + { 0x1D, 0 }, // EA - 100 + { 0x1D, 1 }, // EA - 101 + { 0x1D, 2 }, // EA - 102 + { 0x1D, 3 }, // EA - 103 + { 0x1D, 4 }, // EA - 104 + { 0x1D, 5 }, // EA - 105 + { 0x1D, 6 }, // EA - 106 + { 0x1D, 7 }, // EA - 107 + { 0x1D, 8 }, // EA - 108 + { 0x1D, 9 }, // EA - 109 + { 0x1D, 0x0a }, // EA - 110 + { 0x1D, 0x0b }, // EA - 111 + { 0x1D, 0x0c }, // EA - 112 + { 0x1D, 0x0d }, // EA - 113 + { 0x1D, 0x0e }, // EA - 114 + { 0x1D, 0x0f }, // EA - 115 + { 0x1E, 0 }, // RPB - 116 + { 0x1F, 0 }, // RMI - 117 + { 0x1F, 1 }, // RMI - 118 + { 0x1F, 2 }, // RMI - 119 + { 0x1F, 3 }, // RMI - 120 + { 0x1F, 4 }, // RMI - 121 + { 0x1F, 5 }, // RMI - 122 + { 0x1F, 6 }, // RMI - 123 + { 0x1F, 7 }, // RMI - 124 + { 0x20, 0 }, // GE - 125 + { 0x21, 0 }, // GL1A - 126 + { 0x22, 0 }, // GL1C - 127 + { 0x23, 0 }, // Gl1CG - 128 + { 0x24, 0 }, // GL2A - 129 + { 0x25, 0 }, // GL2C - 130 + { 0x26, 0 }, // CHA - 131 + { 0x27, 0 }, // CHC - 132 + { 0x28, 0 }, // CHCG - 133 + { 0x29, 0 }, // GUS - 134 + { 0x2A, 0 }, // GCR - 135 + { 0x2B, 0 }, // PH - 136 + } }; + void PerfCounter::convertInfo() { switch (dev().ipLevel()) { case Pal::GfxIpLevel::GfxIp7: @@ -509,6 +649,13 @@ void PerfCounter::convertInfo() { info_.counterIndex_ = std::get<1>(p); } break; + case Pal::GfxIpLevel::GfxIp10: + if (info_.blockIndex_ < gfx10BlockIdPal.size()) { + auto p = gfx10BlockIdPal[info_.blockIndex_]; + info_.blockIndex_ = std::get<0>(p); + info_.counterIndex_ = std::get<1>(p); + } + break; default: Unimplemented(); break;