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
This commit is contained in:
foreman
2019-04-02 08:50:00 -04:00
rodzic 35bef95807
commit b751b6cf19
+196 -160
Wyświetl plik
@@ -182,7 +182,7 @@ static const std::array<std::pair<int, int>, 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<std::pair<int, int>, 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<std::pair<int, int>, 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<std::pair<int, int>, 125> gfx9BlockIdPal = {{
static const std::array<std::pair<int, int>, 123> gfx9BlockIdPal = {{
{0x0E, 0}, // CB0 - 0
{0x0E, 1}, // CB1 - 1
{0x0E, 2}, // CB2 - 2
@@ -371,7 +371,7 @@ static const std::array<std::pair<int, int>, 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<std::pair<int, int>, 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<std::pair<int, int>, 126> gfx10BlockIdPal = {{
static const std::array<std::pair<int, int>, 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() {