Skip to content

Commit ec0b98c

Browse files
pratikasharsys_zuul
authored andcommitted
Update gtpin IGC interface.
Change-Id: I219d6dbfa469c625c4d8c504ea3c9cf6cc592045
1 parent 24e24b1 commit ec0b98c

File tree

3 files changed

+177
-126
lines changed

3 files changed

+177
-126
lines changed

visa/FlowGraph.cpp

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7151,7 +7151,7 @@ unsigned int getBinOffsetNextBB(G4_Kernel& kernel, G4_BB* bb)
71517151
return (unsigned int)(*iter)->getGenOffset();
71527152
}
71537153

7154-
uint8_t gtPinData::getNumBytesScratchUse()
7154+
uint32_t gtPinData::getNumBytesScratchUse()
71557155
{
71567156
if (gtpin_init)
71577157
{
@@ -7190,7 +7190,7 @@ void* gtPinData::getGTPinInfoBuffer(unsigned int &bufferSize)
71907190
memset(&t, 0, sizeof(t));
71917191

71927192
t.version = gtpin::igc::GTPIN_IGC_INTERFACE_VERSION;
7193-
//t.igc_init_size = sizeof(t);
7193+
t.igc_init_size = sizeof(t);
71947194
if (gtpinInitFromL0)
71957195
{
71967196
if (kernel.getOption(vISA_GetFreeGRFInfo))
@@ -7244,6 +7244,9 @@ void* gtPinData::getGTPinInfoBuffer(unsigned int &bufferSize)
72447244
// For payload offsets
72457245
numTokens++;
72467246

7247+
// Report #GRFs
7248+
numTokens++;
7249+
72477250
writeBuffer(buffer, bufferSize, &t, sizeof(t));
72487251
writeBuffer(buffer, bufferSize, &numTokens, sizeof(uint32_t));
72497252

@@ -7279,13 +7282,24 @@ void* gtPinData::getGTPinInfoBuffer(unsigned int &bufferSize)
72797282
writeBuffer(buffer, bufferSize, &scratchSlotData, sizeof(scratchSlotData));
72807283
}
72817284

7282-
// Write payload offsets
7283-
gtpin::igc::igc_token_kernel_start_info_t offsets;
7284-
offsets.token = gtpin::igc::GTPIN_IGC_TOKEN_KERNEL_START_INFO;
7285-
offsets.per_thread_prolog_size = getPerThreadNextOff();
7286-
offsets.cross_thread_prolog_size = getCrossThreadNextOff() - offsets.per_thread_prolog_size;
7287-
offsets.token_size = sizeof(offsets);
7288-
writeBuffer(buffer, bufferSize, &offsets, sizeof(offsets));
7285+
{
7286+
// Write payload offsets
7287+
gtpin::igc::igc_token_kernel_start_info_t offsets;
7288+
offsets.token = gtpin::igc::GTPIN_IGC_TOKEN_KERNEL_START_INFO;
7289+
offsets.per_thread_prolog_size = getPerThreadNextOff();
7290+
offsets.cross_thread_prolog_size = getCrossThreadNextOff() - offsets.per_thread_prolog_size;
7291+
offsets.token_size = sizeof(offsets);
7292+
writeBuffer(buffer, bufferSize, &offsets, sizeof(offsets));
7293+
}
7294+
7295+
{
7296+
// Report num GRFs
7297+
gtpin::igc::igc_token_num_grf_regs_t numGRFs;
7298+
numGRFs.token = gtpin::igc::GTPIN_IGC_TOKEN_NUM_GRF_REGS;
7299+
numGRFs.token_size = sizeof(numGRFs);
7300+
numGRFs.num_grf_regs = kernel.getNumRegTotal();
7301+
writeBuffer(buffer, bufferSize, &numGRFs, sizeof(numGRFs));
7302+
}
72897303

72907304
void* gtpinBuffer = allocCodeBlock(bufferSize);
72917305

visa/FlowGraph.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1322,7 +1322,7 @@ class gtPinData
13221322
{
13231323
nextScratchFree = ((next + G4_GRF_REG_NBYTES - 1) / G4_GRF_REG_NBYTES) * G4_GRF_REG_NBYTES;
13241324
}
1325-
uint8_t getNumBytesScratchUse();
1325+
uint32_t getNumBytesScratchUse();
13261326

13271327
void setPerThreadPayloadBB(G4_BB* bb) { perThreadPayloadBB = bb; }
13281328
void setCrossThreadPayloadBB(G4_BB* bb) { crossThreadPayloadBB = bb; }

0 commit comments

Comments
 (0)