From b751b6cf1908eef2764e106bd514bbe6ce153e32 Mon Sep 17 00:00:00 2001 From: foreman Date: Tue, 2 Apr 2019 08:50:00 -0400 Subject: [PATCH] P4 to Git Change 1764636 by chesik@chesik_bdc-dtw-chesikw10_driver on 2019/04/02 08:20:28 SWDEV-183848 - Update OpenCL perfcounter blocks to match the block lists used by GPUPerfAPI (which is in turn used by RCP and CodeXL) - The PAL block index for the PA_SC block was incorrect in all hw generations (in PAL, GpuBlock::SC has ordinal 4, not 3) - In GFX9, the MC and SRBM blocks are not supported - In GFX10, the following changes are made: -- There are 8 CB instances per SE -- There are 8 DB instances per SE -- There are 2 PA_SU instances per SE -- There are 4 PS_SC instances per SE -- There are 4 RMI instances per SE -- There are 2 GL1A instances per SE -- There are 2 GL1C instances per SE -- There are 8 GL1CG instances per SE -- There are 4 global GL2A instances -- There are 16 global GL2A instances -- There are 4 global CHC instances Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palcounters.cpp#19 edit --- rocclr/runtime/device/pal/palcounters.cpp | 356 ++++++++++++---------- 1 file changed, 196 insertions(+), 160 deletions(-) diff --git a/rocclr/runtime/device/pal/palcounters.cpp b/rocclr/runtime/device/pal/palcounters.cpp index 7b44ed4abb..2be9c3d50e 100644 --- a/rocclr/runtime/device/pal/palcounters.cpp +++ b/rocclr/runtime/device/pal/palcounters.cpp @@ -182,7 +182,7 @@ static const std::array, 83> ciBlockIdOrcaToPal = {{ {0x11, 0}, // GRBM {0x12, 0}, // GRBMSE {0x03, 0}, // PA_SU - {0x03, 0}, // PA_SC + {0x04, 0}, // PA_SC {0x05, 0}, // SPI {0x06, 0}, // SQ {0x06, 0}, // SQ_ES @@ -268,7 +268,7 @@ static const std::array, 97> viBlockIdOrcaToPal = {{ {0x11, 0}, // GRBM {0x12, 0}, // GRBMSE {0x03, 0}, // PA_SU - {0x03, 0}, // PA_SC + {0x04, 0}, // PA_SC {0x05, 0}, // SPI {0x06, 0}, // SQ {0x06, 0}, // SQ_ES @@ -358,7 +358,7 @@ static const std::array, 97> viBlockIdOrcaToPal = {{ // The number of counters per block has been increased for gfx9 but this table may not reflect all // of them // as compute may not use all of them. -static const std::array, 125> gfx9BlockIdPal = {{ +static const std::array, 123> gfx9BlockIdPal = {{ {0x0E, 0}, // CB0 - 0 {0x0E, 1}, // CB1 - 1 {0x0E, 2}, // CB2 - 2 @@ -371,7 +371,7 @@ static const std::array, 125> gfx9BlockIdPal = {{ {0x11, 0}, // GRBM - 9 {0x12, 0}, // GRBMSE - 10 {0x03, 0}, // PA_SU - 11 - {0x03, 0}, // PA_SC - 12 + {0x04, 0}, // PA_SC - 12 {0x05, 0}, // SPI - 13 {0x06, 0}, // SQ - 14 {0x06, 0}, // SQ_ES - 15 @@ -451,168 +451,204 @@ static const std::array, 125> gfx9BlockIdPal = {{ {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 + {0x18, 0}, // WD - 92 + {0x16, 0}, // CPG - 93 + {0x17, 0}, // CPC - 94 + {0x1A, 0}, // ATC - 95 + {0x1B, 0}, // ATCL2 - 96 + {0x1C, 0}, // MCVML2 - 97 + {0x1D, 0}, // EA0 - 98 + {0x1D, 1}, // EA1 - 99 + {0x1D, 2}, // EA2 - 100 + {0x1D, 3}, // EA3 - 101 + {0x1D, 4}, // EA4 - 102 + {0x1D, 5}, // EA5 - 103 + {0x1D, 6}, // EA6 - 104 + {0x1D, 7}, // EA7 - 105 + {0x1D, 8}, // EA8 - 106 + {0x1D, 9}, // EA9 - 107 + {0x1D, 0x0a}, // EA10 - 108 + {0x1D, 0x0b}, // EA11 - 109 + {0x1D, 0x0c}, // EA12 - 110 + {0x1D, 0x0d}, // EA13 - 111 + {0x1D, 0x0e}, // EA14 - 112 + {0x1D, 0x0f}, // EA15 - 113 + {0x1E, 0}, // RPB - 114 + {0x1F, 0}, // RMI0 - 115 + {0x1F, 1}, // RMI1 - 116 + {0x1F, 2}, // RMI2 - 117 + {0x1F, 3}, // RMI3 - 118 + {0x1F, 4}, // RMI4 - 119 + {0x1F, 5}, // RMI5 - 120 + {0x1F, 6}, // RMI6 - 121 + {0x1F, 7}, // RMI7 - 122 }}; -static const std::array, 126> gfx10BlockIdPal = {{ +static const std::array, 164> 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 - {0x08, 0x10}, // TA16 - 39 - {0x08, 0x11}, // TA17 - 40 - {0x08, 0x12}, // TA18 - 41 - {0x08, 0x13}, // TA19 - 42 - {0x09, 0}, // TD0 - 43 - {0x09, 1}, // TD1 - 44 - {0x09, 2}, // TD2 - 45 - {0x09, 3}, // TD3 - 46 - {0x09, 4}, // TD4 - 47 - {0x09, 5}, // TD5 - 48 - {0x09, 6}, // TD6 - 49 - {0x09, 7}, // TD7 - 50 - {0x09, 8}, // TD8 - 51 - {0x09, 9}, // TD9 - 52 - {0x09, 0x0a}, // TD10 - 53 - {0x09, 0x0b}, // TD11 - 54 - {0x09, 0x0c}, // TD12 - 55 - {0x09, 0x0d}, // TD13 - 56 - {0x09, 0x0e}, // TD14 - 57 - {0x09, 0x0f}, // TD15 - 58 - {0x09, 0x10}, // TD16 - 59 - {0x09, 0x11}, // TD17 - 60 - {0x09, 0x12}, // TD18 - 61 - {0x09, 0x13}, // TD19 - 62 - {0x0A, 0}, // TCP0 - 63 - {0x0A, 1}, // TCP1 - 64 - {0x0A, 2}, // TCP2 - 65 - {0x0A, 3}, // TCP3 - 66 - {0x0A, 4}, // TCP4 - 67 - {0x0A, 5}, // TCP5 - 68 - {0x0A, 6}, // TCP6 - 69 - {0x0A, 7}, // TCP7 - 70 - {0x0A, 8}, // TCP8 - 71 - {0x0A, 9}, // TCP9 - 72 - {0x0A, 0x0a}, // TCP10 - 73 - {0x0A, 0x0b}, // TCP11 - 74 - {0x0A, 0x0c}, // TCP12 - 75 - {0x0A, 0x0d}, // TCP13 - 76 - {0x0A, 0x0e}, // TCP14 - 77 - {0x0A, 0x0f}, // TCP15 - 78 - {0x0A, 0x10}, // TCP16 - 79 - {0x0A, 0x11}, // TCP17 - 80 - {0x0A, 0x12}, // TCP18 - 81 - {0x0A, 0x13}, // TCP19 - 82 - {0x0F, 0}, // GDS - 83 - {0x16, 0}, // CPG - 84 - {0x17, 0}, // CPC - 85 - {0x1A, 0}, // ATC - 86 - {0x1B, 0}, // ATCL2 - 87 - {0x1C, 0}, // MCVML2 - 88 - {0x1D, 0}, // EA - 89 - {0x1D, 1}, // EA - 90 - {0x1D, 2}, // EA - 91 - {0x1D, 3}, // EA - 92 - {0x1D, 4}, // EA - 93 - {0x1D, 5}, // EA - 94 - {0x1D, 6}, // EA - 95 - {0x1D, 7}, // EA - 96 - {0x1D, 8}, // EA - 97 - {0x1D, 9}, // EA - 98 - {0x1D, 0x0a}, // EA - 99 - {0x1D, 0x0b}, // EA - 100 - {0x1D, 0x0c}, // EA - 101 - {0x1D, 0x0d}, // EA - 102 - {0x1D, 0x0e}, // EA - 103 - {0x1D, 0x0f}, // EA - 104 - {0x1E, 0}, // RPB - 105 - {0x1F, 0}, // RMI - 106 - {0x1F, 1}, // RMI - 107 - {0x1F, 2}, // RMI - 108 - {0x1F, 3}, // RMI - 109 - {0x1F, 4}, // RMI - 110 - {0x1F, 5}, // RMI - 111 - {0x1F, 6}, // RMI - 112 - {0x1F, 7}, // RMI - 113 - {0x21, 0}, // GE - 114 - {0x22, 0}, // GL1A - 115 - {0x23, 0}, // GL1C - 116 - {0x24, 0}, // Gl1CG - 117 - {0x25, 0}, // GL2A - 118 - {0x26, 0}, // GL2C - 119 - {0x27, 0}, // CHA - 120 - {0x28, 0}, // CHC - 121 - {0x29, 0}, // CHCG - 122 - {0x30, 0}, // GUS - 123 - {0x31, 0}, // GCR - 124 - {0x32, 0}, // PH - 125 + {0x0E, 4}, // CB4 - 4 + {0x0E, 5}, // CB5 - 5 + {0x0E, 6}, // CB6 - 6 + {0x0E, 7}, // CB7 - 7 + {0x00, 0}, // CPF - 8 + {0x0D, 0}, // DB0 - 9 + {0x0D, 1}, // DB1 - 10 + {0x0D, 2}, // DB2 - 11 + {0x0D, 3}, // DB3 - 12 + {0x0D, 4}, // DB4 - 13 + {0x0D, 5}, // DB5 - 14 + {0x0D, 6}, // DB6 - 15 + {0x0D, 7}, // DB7 - 16 + {0x11, 0}, // GRBM - 17 + {0x12, 0}, // GRBMSE - 18 + {0x03, 0}, // PA_SU0 - 19 + {0x03, 1}, // PA_SU1 - 20 + {0x04, 0}, // PA_SC0 - 21 + {0x04, 1}, // PA_SC1 - 22 + {0x04, 2}, // PA_SC2 - 23 + {0x04, 3}, // PA_SC3 - 24 + {0x05, 0}, // SPI - 25 + {0x06, 0}, // SQ - 26 + {0x06, 0}, // SQ_ES - 27 + {0x06, 0}, // SQ_GS - 28 + {0x06, 0}, // SQ_VS - 29 + {0x06, 0}, // SQ_PS - 30 + {0x06, 0}, // SQ_LS - 31 + {0x06, 0}, // SQ_HS - 32 + {0x06, 0}, // SQ_CS - 33 + {0x07, 0}, // SX - 34 + {0x08, 0}, // TA0 - 35 + {0x08, 1}, // TA1 - 36 + {0x08, 2}, // TA2 - 37 + {0x08, 3}, // TA3 - 38 + {0x08, 4}, // TA4 - 39 + {0x08, 5}, // TA5 - 40 + {0x08, 6}, // TA6 - 41 + {0x08, 7}, // TA7 - 42 + {0x08, 8}, // TA8 - 43 + {0x08, 9}, // TA9 - 44 + {0x08, 0x0a}, // TA10 - 45 + {0x08, 0x0b}, // TA11 - 46 + {0x08, 0x0c}, // TA12 - 47 + {0x08, 0x0d}, // TA13 - 48 + {0x08, 0x0e}, // TA14 - 49 + {0x08, 0x0f}, // TA15 - 50 + {0x08, 0x10}, // TA16 - 51 + {0x08, 0x11}, // TA17 - 52 + {0x08, 0x12}, // TA18 - 53 + {0x08, 0x13}, // TA19 - 54 + {0x09, 0}, // TD0 - 55 + {0x09, 1}, // TD1 - 56 + {0x09, 2}, // TD2 - 57 + {0x09, 3}, // TD3 - 58 + {0x09, 4}, // TD4 - 59 + {0x09, 5}, // TD5 - 60 + {0x09, 6}, // TD6 - 61 + {0x09, 7}, // TD7 - 62 + {0x09, 8}, // TD8 - 63 + {0x09, 9}, // TD9 - 64 + {0x09, 0x0a}, // TD10 - 65 + {0x09, 0x0b}, // TD11 - 66 + {0x09, 0x0c}, // TD12 - 67 + {0x09, 0x0d}, // TD13 - 68 + {0x09, 0x0e}, // TD14 - 69 + {0x09, 0x0f}, // TD15 - 70 + {0x09, 0x10}, // TD16 - 71 + {0x09, 0x11}, // TD17 - 72 + {0x09, 0x12}, // TD18 - 73 + {0x09, 0x13}, // TD19 - 74 + {0x0A, 0}, // TCP0 - 75 + {0x0A, 1}, // TCP1 - 76 + {0x0A, 2}, // TCP2 - 77 + {0x0A, 3}, // TCP3 - 78 + {0x0A, 4}, // TCP4 - 79 + {0x0A, 5}, // TCP5 - 80 + {0x0A, 6}, // TCP6 - 81 + {0x0A, 7}, // TCP7 - 82 + {0x0A, 8}, // TCP8 - 83 + {0x0A, 9}, // TCP9 - 84 + {0x0A, 0x0a}, // TCP10 - 85 + {0x0A, 0x0b}, // TCP11 - 86 + {0x0A, 0x0c}, // TCP12 - 87 + {0x0A, 0x0d}, // TCP13 - 88 + {0x0A, 0x0e}, // TCP14 - 89 + {0x0A, 0x0f}, // TCP15 - 90 + {0x0A, 0x10}, // TCP16 - 91 + {0x0A, 0x11}, // TCP17 - 92 + {0x0A, 0x12}, // TCP18 - 93 + {0x0A, 0x13}, // TCP19 - 94 + {0x0F, 0}, // GDS - 95 + {0x16, 0}, // CPG - 96 + {0x17, 0}, // CPC - 97 + {0x1A, 0}, // ATC - 98 + {0x1B, 0}, // ATCL2 - 99 + {0x1C, 0}, // MCVML2 - 100 + {0x1D, 0}, // EA0 - 101 + {0x1D, 1}, // EA1 - 102 + {0x1D, 2}, // EA2 - 103 + {0x1D, 3}, // EA3 - 104 + {0x1D, 4}, // EA4 - 105 + {0x1D, 5}, // EA5 - 106 + {0x1D, 6}, // EA6 - 107 + {0x1D, 7}, // EA7 - 108 + {0x1D, 8}, // EA8 - 109 + {0x1D, 9}, // EA9 - 110 + {0x1D, 0x0a}, // EA10 - 111 + {0x1D, 0x0b}, // EA11 - 112 + {0x1D, 0x0c}, // EA12 - 113 + {0x1D, 0x0d}, // EA13 - 114 + {0x1D, 0x0e}, // EA14 - 115 + {0x1D, 0x0f}, // EA15 - 116 + {0x1E, 0}, // RPB - 117 + {0x1F, 0}, // RMI0 - 118 + {0x1F, 1}, // RMI1 - 119 + {0x1F, 2}, // RMI2 - 120 + {0x1F, 3}, // RMI3 - 121 + {0x21, 0}, // GE - 122 + {0x22, 0}, // GL1A0 - 123 + {0x22, 1}, // GL1A1 - 124 + {0x23, 0}, // GL1C0 - 125 + {0x23, 1}, // GL1C1 - 126 + {0x24, 0}, // GL1CG0 - 127 + {0x24, 1}, // GL1CG1 - 128 + {0x24, 2}, // GL1CG2 - 129 + {0x24, 3}, // GL1CG3 - 130 + {0x24, 4}, // GL1CG4 - 131 + {0x24, 5}, // GL1CG5 - 132 + {0x24, 6}, // GL1CG6 - 133 + {0x24, 7}, // GL1CG7 - 134 + {0x25, 0}, // GL2A0 - 135 + {0x25, 1}, // GL2A1 - 136 + {0x25, 2}, // GL2A2 - 137 + {0x25, 3}, // GL2A3 - 138 + {0x26, 0}, // GL2C0 - 139 + {0x26, 1}, // GL2C1 - 140 + {0x26, 2}, // GL2C2 - 141 + {0x26, 3}, // GL2C3 - 142 + {0x26, 4}, // GL2C4 - 143 + {0x26, 5}, // GL2C5 - 144 + {0x26, 6}, // GL2C6 - 145 + {0x26, 7}, // GL2C7 - 146 + {0x26, 8}, // GL2C8 - 147 + {0x26, 9}, // GL2C9 - 148 + {0x26, 0x0a}, // GL2C10 - 149 + {0x26, 0x0b}, // GL2C11 - 150 + {0x26, 0x0c}, // GL2C12 - 151 + {0x26, 0x0d}, // GL2C13 - 152 + {0x26, 0x0e}, // GL2C14 - 153 + {0x26, 0x0f}, // GL2C15 - 154 + {0x27, 0}, // CHA - 155 + {0x28, 0}, // CHC0 - 156 + {0x28, 1}, // CHC1 - 157 + {0x28, 2}, // CHC2 - 158 + {0x28, 3}, // CHC3 - 159 + {0x29, 0}, // CHCG - 160 + {0x2A, 0}, // GUS - 161 + {0x2B, 0}, // GCR - 162 + {0x2C, 0}, // PH - 163 }}; void PerfCounter::convertInfo() {