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() {