Skip to content

Commit d80b015

Browse files
authored
[PROTON] Don't use designated initializers in CuptiPCSampling.cpp as it relates to c++20 (#5291)
Hi @Jokeren, these changes relates to your PR: triton-lang/triton#4674, so I would like to ask if this was done on purpose? (considering that the project declares support for the c++17 standard). I discovered this while trying to compile proton using MSVC. It looked like this: `\CuptiPCSampling.cpp(18): error C7555: use of designated initializers requires at least '/std:c++20'`. This might also be a good opportunity to ask you about your plans to transition Triton to `с++20`. --------- Signed-off-by: Anatoly Myachev <[email protected]>
1 parent 912e595 commit d80b015

File tree

1 file changed

+52
-46
lines changed

1 file changed

+52
-46
lines changed

third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp

Lines changed: 52 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ namespace {
1515

1616
uint64_t getCubinCrc(const char *cubin, size_t size) {
1717
CUpti_GetCubinCrcParams cubinCrcParams = {
18-
.size = CUpti_GetCubinCrcParamsSize,
19-
.cubinSize = size,
20-
.cubin = cubin,
21-
.cubinCrc = 0,
18+
/*size=*/CUpti_GetCubinCrcParamsSize,
19+
/*cubinSize=*/size,
20+
/*cubin=*/cubin,
21+
/*cubinCrc=*/0,
2222
};
2323
cupti::getCubinCrc<true>(&cubinCrcParams);
2424
return cubinCrcParams.cubinCrc;
@@ -27,10 +27,10 @@ uint64_t getCubinCrc(const char *cubin, size_t size) {
2727
size_t getNumStallReasons(CUcontext context) {
2828
size_t numStallReasons = 0;
2929
CUpti_PCSamplingGetNumStallReasonsParams numStallReasonsParams = {
30-
.size = CUpti_PCSamplingGetNumStallReasonsParamsSize,
31-
.pPriv = NULL,
32-
.ctx = context,
33-
.numStallReasons = &numStallReasons};
30+
/*size=*/CUpti_PCSamplingGetNumStallReasonsParamsSize,
31+
/*pPriv=*/NULL,
32+
/*ctx=*/context,
33+
/*numStallReasons=*/&numStallReasons};
3434
cupti::pcSamplingGetNumStallReasons<true>(&numStallReasonsParams);
3535
return numStallReasons;
3636
}
@@ -39,14 +39,14 @@ std::tuple<uint32_t, std::string, std::string>
3939
getSassToSourceCorrelation(const char *functionName, uint64_t pcOffset,
4040
const char *cubin, size_t cubinSize) {
4141
CUpti_GetSassToSourceCorrelationParams sassToSourceParams = {
42-
.size = CUpti_GetSassToSourceCorrelationParamsSize,
43-
.cubin = cubin,
44-
.functionName = functionName,
45-
.cubinSize = cubinSize,
46-
.lineNumber = 0,
47-
.pcOffset = pcOffset,
48-
.fileName = NULL,
49-
.dirName = NULL,
42+
/*size=*/CUpti_GetSassToSourceCorrelationParamsSize,
43+
/*cubin=*/cubin,
44+
/*functionName=*/functionName,
45+
/*cubinSize=*/cubinSize,
46+
/*lineNumber=*/0,
47+
/*pcOffset=*/pcOffset,
48+
/*fileName=*/NULL,
49+
/*dirName=*/NULL,
5050
};
5151
// Get source can fail if the line mapping is not available in the cubin so we
5252
// don't check the return value
@@ -77,12 +77,12 @@ getStallReasonNamesAndIndices(CUcontext context, size_t numStallReasons) {
7777
static_cast<uint32_t *>(std::calloc(numStallReasons, sizeof(uint32_t)));
7878
// Initialize the names with 128 characters to avoid buffer overflow
7979
CUpti_PCSamplingGetStallReasonsParams stallReasonsParams = {
80-
.size = CUpti_PCSamplingGetStallReasonsParamsSize,
81-
.pPriv = NULL,
82-
.ctx = context,
83-
.numStallReasons = numStallReasons,
84-
.stallReasonIndex = stallReasonIndices,
85-
.stallReasons = stallReasonNames,
80+
/*size=*/CUpti_PCSamplingGetStallReasonsParamsSize,
81+
/*pPriv=*/NULL,
82+
/*ctx=*/context,
83+
/*numStallReasons=*/numStallReasons,
84+
/*stallReasonIndex=*/stallReasonIndices,
85+
/*stallReasons=*/stallReasonNames,
8686
};
8787
cupti::pcSamplingGetStallReasons<true>(&stallReasonsParams);
8888
return std::make_pair(stallReasonNames, stallReasonIndices);
@@ -143,9 +143,15 @@ CUpti_PCSamplingData allocPCSamplingData(size_t collectNumPCs,
143143
CUPTI_API_VERSION >= CUPTI_CUDA12_4_VERSION)
144144
pcDataSize -= CUPTI_CUDA12_4_PC_DATA_PADDING_SIZE;
145145
CUpti_PCSamplingData pcSamplingData{
146-
.size = pcDataSize,
147-
.collectNumPcs = collectNumPCs,
148-
.pPcData = static_cast<CUpti_PCSamplingPCData *>(
146+
/*size=*/pcDataSize,
147+
/*collectNumPcs=*/collectNumPCs,
148+
/*totalSamples=*/0,
149+
/*droppedSamples=*/0,
150+
/*totalNumPcs=*/0,
151+
/*remainingNumPcs=*/0,
152+
/*rangeId=*/0,
153+
/*pPcData=*/
154+
static_cast<CUpti_PCSamplingPCData *>(
149155
std::calloc(collectNumPCs, sizeof(CUpti_PCSamplingPCData)))};
150156
for (size_t i = 0; i < collectNumPCs; ++i) {
151157
pcSamplingData.pPcData[i].stallReason =
@@ -157,47 +163,47 @@ CUpti_PCSamplingData allocPCSamplingData(size_t collectNumPCs,
157163

158164
void enablePCSampling(CUcontext context) {
159165
CUpti_PCSamplingEnableParams params = {
160-
.size = CUpti_PCSamplingEnableParamsSize,
161-
.pPriv = NULL,
162-
.ctx = context,
166+
/*size=*/CUpti_PCSamplingEnableParamsSize,
167+
/*pPriv=*/NULL,
168+
/*ctx=*/context,
163169
};
164170
cupti::pcSamplingEnable<true>(&params);
165171
}
166172

167173
void disablePCSampling(CUcontext context) {
168174
CUpti_PCSamplingDisableParams params = {
169-
.size = CUpti_PCSamplingDisableParamsSize,
170-
.pPriv = NULL,
171-
.ctx = context,
175+
/*size=*/CUpti_PCSamplingDisableParamsSize,
176+
/*pPriv=*/NULL,
177+
/*ctx=*/context,
172178
};
173179
cupti::pcSamplingDisable<true>(&params);
174180
}
175181

176182
void startPCSampling(CUcontext context) {
177183
CUpti_PCSamplingStartParams params = {
178-
.size = CUpti_PCSamplingStartParamsSize,
179-
.pPriv = NULL,
180-
.ctx = context,
184+
/*size=*/CUpti_PCSamplingStartParamsSize,
185+
/*pPriv=*/NULL,
186+
/*ctx=*/context,
181187
};
182188
cupti::pcSamplingStart<true>(&params);
183189
}
184190

185191
void stopPCSampling(CUcontext context) {
186192
CUpti_PCSamplingStopParams params = {
187-
.size = CUpti_PCSamplingStopParamsSize,
188-
.pPriv = NULL,
189-
.ctx = context,
193+
/*size=*/CUpti_PCSamplingStopParamsSize,
194+
/*pPriv=*/NULL,
195+
/*ctx=*/context,
190196
};
191197
cupti::pcSamplingStop<true>(&params);
192198
}
193199

194200
void getPCSamplingData(CUcontext context,
195201
CUpti_PCSamplingData *pcSamplingData) {
196202
CUpti_PCSamplingGetDataParams params = {
197-
.size = CUpti_PCSamplingGetDataParamsSize,
198-
.pPriv = NULL,
199-
.ctx = context,
200-
.pcSamplingData = pcSamplingData,
203+
/*size=*/CUpti_PCSamplingGetDataParamsSize,
204+
/*pPriv=*/NULL,
205+
/*ctx=*/context,
206+
/*pcSamplingData=*/pcSamplingData,
201207
};
202208
cupti::pcSamplingGetData<true>(&params);
203209
}
@@ -206,11 +212,11 @@ void setConfigurationAttribute(
206212
CUcontext context,
207213
std::vector<CUpti_PCSamplingConfigurationInfo> &configurationInfos) {
208214
CUpti_PCSamplingConfigurationInfoParams infoParams = {
209-
.size = CUpti_PCSamplingConfigurationInfoParamsSize,
210-
.pPriv = NULL,
211-
.ctx = context,
212-
.numAttributes = configurationInfos.size(),
213-
.pPCSamplingConfigurationInfo = configurationInfos.data(),
215+
/*size=*/CUpti_PCSamplingConfigurationInfoParamsSize,
216+
/*pPriv=*/NULL,
217+
/*ctx=*/context,
218+
/*numAttributes=*/configurationInfos.size(),
219+
/*pPCSamplingConfigurationInfo=*/configurationInfos.data(),
214220
};
215221
cupti::pcSamplingSetConfigurationAttribute<true>(&infoParams);
216222
}

0 commit comments

Comments
 (0)