From 443ee54c3e0020bd0190b92aa88b05e0f1baaa3f Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Fri, 29 Nov 2024 21:15:49 +0100 Subject: [PATCH 1/2] Don't use designated initializers in 'CuptiPCSampling.cpp' as it relates to c++20 Signed-off-by: Anatoly Myachev --- .../lib/Profiler/Cupti/CuptiPCSampling.cpp | 98 ++++++++++--------- 1 file changed, 52 insertions(+), 46 deletions(-) diff --git a/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp b/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp index 19b50214b98c..b6acee6152f7 100644 --- a/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp +++ b/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp @@ -15,10 +15,10 @@ namespace { uint64_t getCubinCrc(const char *cubin, size_t size) { CUpti_GetCubinCrcParams cubinCrcParams = { - .size = CUpti_GetCubinCrcParamsSize, - .cubinSize = size, - .cubin = cubin, - .cubinCrc = 0, + /*size=*/CUpti_GetCubinCrcParamsSize, + /*cubinSize*/ size, + /*cubin*/ cubin, + /*cubinCrc*/ 0, }; cupti::getCubinCrc(&cubinCrcParams); return cubinCrcParams.cubinCrc; @@ -27,10 +27,10 @@ uint64_t getCubinCrc(const char *cubin, size_t size) { size_t getNumStallReasons(CUcontext context) { size_t numStallReasons = 0; CUpti_PCSamplingGetNumStallReasonsParams numStallReasonsParams = { - .size = CUpti_PCSamplingGetNumStallReasonsParamsSize, - .pPriv = NULL, - .ctx = context, - .numStallReasons = &numStallReasons}; + /*size*/ CUpti_PCSamplingGetNumStallReasonsParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, + /*numStallReasons*/ &numStallReasons}; cupti::pcSamplingGetNumStallReasons(&numStallReasonsParams); return numStallReasons; } @@ -39,14 +39,14 @@ std::tuple getSassToSourceCorrelation(const char *functionName, uint64_t pcOffset, const char *cubin, size_t cubinSize) { CUpti_GetSassToSourceCorrelationParams sassToSourceParams = { - .size = CUpti_GetSassToSourceCorrelationParamsSize, - .cubin = cubin, - .functionName = functionName, - .cubinSize = cubinSize, - .lineNumber = 0, - .pcOffset = pcOffset, - .fileName = NULL, - .dirName = NULL, + /*size*/ CUpti_GetSassToSourceCorrelationParamsSize, + /*cubin*/ cubin, + /*functionName*/ functionName, + /*cubinSize*/ cubinSize, + /*lineNumber*/ 0, + /*pcOffset*/ pcOffset, + /*fileName*/ NULL, + /*dirName*/ NULL, }; // Get source can fail if the line mapping is not available in the cubin so we // don't check the return value @@ -77,12 +77,12 @@ getStallReasonNamesAndIndices(CUcontext context, size_t numStallReasons) { static_cast(std::calloc(numStallReasons, sizeof(uint32_t))); // Initialize the names with 128 characters to avoid buffer overflow CUpti_PCSamplingGetStallReasonsParams stallReasonsParams = { - .size = CUpti_PCSamplingGetStallReasonsParamsSize, - .pPriv = NULL, - .ctx = context, - .numStallReasons = numStallReasons, - .stallReasonIndex = stallReasonIndices, - .stallReasons = stallReasonNames, + /*size*/ CUpti_PCSamplingGetStallReasonsParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, + /*numStallReasons*/ numStallReasons, + /*stallReasonIndex*/ stallReasonIndices, + /*stallReasons*/ stallReasonNames, }; cupti::pcSamplingGetStallReasons(&stallReasonsParams); return std::make_pair(stallReasonNames, stallReasonIndices); @@ -143,9 +143,15 @@ CUpti_PCSamplingData allocPCSamplingData(size_t collectNumPCs, CUPTI_API_VERSION >= CUPTI_CUDA12_4_VERSION) pcDataSize -= CUPTI_CUDA12_4_PC_DATA_PADDING_SIZE; CUpti_PCSamplingData pcSamplingData{ - .size = pcDataSize, - .collectNumPcs = collectNumPCs, - .pPcData = static_cast( + /*size*/ pcDataSize, + /*collectNumPcs*/ collectNumPCs, + /*totalSamples*/ 0, + /*droppedSamples*/ 0, + /*totalNumPcs*/ 0, + /*remainingNumPcs*/ 0, + /*rangeId*/ 0, + /*pPcData*/ + static_cast( std::calloc(collectNumPCs, sizeof(CUpti_PCSamplingPCData)))}; for (size_t i = 0; i < collectNumPCs; ++i) { pcSamplingData.pPcData[i].stallReason = @@ -157,36 +163,36 @@ CUpti_PCSamplingData allocPCSamplingData(size_t collectNumPCs, void enablePCSampling(CUcontext context) { CUpti_PCSamplingEnableParams params = { - .size = CUpti_PCSamplingEnableParamsSize, - .pPriv = NULL, - .ctx = context, + /*size*/ CUpti_PCSamplingEnableParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, }; cupti::pcSamplingEnable(¶ms); } void disablePCSampling(CUcontext context) { CUpti_PCSamplingDisableParams params = { - .size = CUpti_PCSamplingDisableParamsSize, - .pPriv = NULL, - .ctx = context, + /*size*/ CUpti_PCSamplingDisableParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, }; cupti::pcSamplingDisable(¶ms); } void startPCSampling(CUcontext context) { CUpti_PCSamplingStartParams params = { - .size = CUpti_PCSamplingStartParamsSize, - .pPriv = NULL, - .ctx = context, + /*size*/ CUpti_PCSamplingStartParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, }; cupti::pcSamplingStart(¶ms); } void stopPCSampling(CUcontext context) { CUpti_PCSamplingStopParams params = { - .size = CUpti_PCSamplingStopParamsSize, - .pPriv = NULL, - .ctx = context, + /*size*/ CUpti_PCSamplingStopParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, }; cupti::pcSamplingStop(¶ms); } @@ -194,10 +200,10 @@ void stopPCSampling(CUcontext context) { void getPCSamplingData(CUcontext context, CUpti_PCSamplingData *pcSamplingData) { CUpti_PCSamplingGetDataParams params = { - .size = CUpti_PCSamplingGetDataParamsSize, - .pPriv = NULL, - .ctx = context, - .pcSamplingData = pcSamplingData, + /*size*/ CUpti_PCSamplingGetDataParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, + /*pcSamplingData*/ pcSamplingData, }; cupti::pcSamplingGetData(¶ms); } @@ -206,11 +212,11 @@ void setConfigurationAttribute( CUcontext context, std::vector &configurationInfos) { CUpti_PCSamplingConfigurationInfoParams infoParams = { - .size = CUpti_PCSamplingConfigurationInfoParamsSize, - .pPriv = NULL, - .ctx = context, - .numAttributes = configurationInfos.size(), - .pPCSamplingConfigurationInfo = configurationInfos.data(), + /*size*/ CUpti_PCSamplingConfigurationInfoParamsSize, + /*pPriv*/ NULL, + /*ctx*/ context, + /*numAttributes*/ configurationInfos.size(), + /*pPCSamplingConfigurationInfo*/ configurationInfos.data(), }; cupti::pcSamplingSetConfigurationAttribute(&infoParams); } From 107d9f040cbbf7a0b8aec9e44a03a96cece8d131 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Sat, 30 Nov 2024 14:13:55 +0100 Subject: [PATCH 2/2] address review comments Signed-off-by: Anatoly Myachev --- .../lib/Profiler/Cupti/CuptiPCSampling.cpp | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp b/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp index b6acee6152f7..45082a14ef25 100644 --- a/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp +++ b/third_party/proton/csrc/lib/Profiler/Cupti/CuptiPCSampling.cpp @@ -16,9 +16,9 @@ namespace { uint64_t getCubinCrc(const char *cubin, size_t size) { CUpti_GetCubinCrcParams cubinCrcParams = { /*size=*/CUpti_GetCubinCrcParamsSize, - /*cubinSize*/ size, - /*cubin*/ cubin, - /*cubinCrc*/ 0, + /*cubinSize=*/size, + /*cubin=*/cubin, + /*cubinCrc=*/0, }; cupti::getCubinCrc(&cubinCrcParams); return cubinCrcParams.cubinCrc; @@ -27,10 +27,10 @@ uint64_t getCubinCrc(const char *cubin, size_t size) { size_t getNumStallReasons(CUcontext context) { size_t numStallReasons = 0; CUpti_PCSamplingGetNumStallReasonsParams numStallReasonsParams = { - /*size*/ CUpti_PCSamplingGetNumStallReasonsParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, - /*numStallReasons*/ &numStallReasons}; + /*size=*/CUpti_PCSamplingGetNumStallReasonsParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, + /*numStallReasons=*/&numStallReasons}; cupti::pcSamplingGetNumStallReasons(&numStallReasonsParams); return numStallReasons; } @@ -39,14 +39,14 @@ std::tuple getSassToSourceCorrelation(const char *functionName, uint64_t pcOffset, const char *cubin, size_t cubinSize) { CUpti_GetSassToSourceCorrelationParams sassToSourceParams = { - /*size*/ CUpti_GetSassToSourceCorrelationParamsSize, - /*cubin*/ cubin, - /*functionName*/ functionName, - /*cubinSize*/ cubinSize, - /*lineNumber*/ 0, - /*pcOffset*/ pcOffset, - /*fileName*/ NULL, - /*dirName*/ NULL, + /*size=*/CUpti_GetSassToSourceCorrelationParamsSize, + /*cubin=*/cubin, + /*functionName=*/functionName, + /*cubinSize=*/cubinSize, + /*lineNumber=*/0, + /*pcOffset=*/pcOffset, + /*fileName=*/NULL, + /*dirName=*/NULL, }; // Get source can fail if the line mapping is not available in the cubin so we // don't check the return value @@ -77,12 +77,12 @@ getStallReasonNamesAndIndices(CUcontext context, size_t numStallReasons) { static_cast(std::calloc(numStallReasons, sizeof(uint32_t))); // Initialize the names with 128 characters to avoid buffer overflow CUpti_PCSamplingGetStallReasonsParams stallReasonsParams = { - /*size*/ CUpti_PCSamplingGetStallReasonsParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, - /*numStallReasons*/ numStallReasons, - /*stallReasonIndex*/ stallReasonIndices, - /*stallReasons*/ stallReasonNames, + /*size=*/CUpti_PCSamplingGetStallReasonsParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, + /*numStallReasons=*/numStallReasons, + /*stallReasonIndex=*/stallReasonIndices, + /*stallReasons=*/stallReasonNames, }; cupti::pcSamplingGetStallReasons(&stallReasonsParams); return std::make_pair(stallReasonNames, stallReasonIndices); @@ -143,14 +143,14 @@ CUpti_PCSamplingData allocPCSamplingData(size_t collectNumPCs, CUPTI_API_VERSION >= CUPTI_CUDA12_4_VERSION) pcDataSize -= CUPTI_CUDA12_4_PC_DATA_PADDING_SIZE; CUpti_PCSamplingData pcSamplingData{ - /*size*/ pcDataSize, - /*collectNumPcs*/ collectNumPCs, - /*totalSamples*/ 0, - /*droppedSamples*/ 0, - /*totalNumPcs*/ 0, - /*remainingNumPcs*/ 0, - /*rangeId*/ 0, - /*pPcData*/ + /*size=*/pcDataSize, + /*collectNumPcs=*/collectNumPCs, + /*totalSamples=*/0, + /*droppedSamples=*/0, + /*totalNumPcs=*/0, + /*remainingNumPcs=*/0, + /*rangeId=*/0, + /*pPcData=*/ static_cast( std::calloc(collectNumPCs, sizeof(CUpti_PCSamplingPCData)))}; for (size_t i = 0; i < collectNumPCs; ++i) { @@ -163,36 +163,36 @@ CUpti_PCSamplingData allocPCSamplingData(size_t collectNumPCs, void enablePCSampling(CUcontext context) { CUpti_PCSamplingEnableParams params = { - /*size*/ CUpti_PCSamplingEnableParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, + /*size=*/CUpti_PCSamplingEnableParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, }; cupti::pcSamplingEnable(¶ms); } void disablePCSampling(CUcontext context) { CUpti_PCSamplingDisableParams params = { - /*size*/ CUpti_PCSamplingDisableParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, + /*size=*/CUpti_PCSamplingDisableParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, }; cupti::pcSamplingDisable(¶ms); } void startPCSampling(CUcontext context) { CUpti_PCSamplingStartParams params = { - /*size*/ CUpti_PCSamplingStartParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, + /*size=*/CUpti_PCSamplingStartParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, }; cupti::pcSamplingStart(¶ms); } void stopPCSampling(CUcontext context) { CUpti_PCSamplingStopParams params = { - /*size*/ CUpti_PCSamplingStopParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, + /*size=*/CUpti_PCSamplingStopParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, }; cupti::pcSamplingStop(¶ms); } @@ -200,10 +200,10 @@ void stopPCSampling(CUcontext context) { void getPCSamplingData(CUcontext context, CUpti_PCSamplingData *pcSamplingData) { CUpti_PCSamplingGetDataParams params = { - /*size*/ CUpti_PCSamplingGetDataParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, - /*pcSamplingData*/ pcSamplingData, + /*size=*/CUpti_PCSamplingGetDataParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, + /*pcSamplingData=*/pcSamplingData, }; cupti::pcSamplingGetData(¶ms); } @@ -212,11 +212,11 @@ void setConfigurationAttribute( CUcontext context, std::vector &configurationInfos) { CUpti_PCSamplingConfigurationInfoParams infoParams = { - /*size*/ CUpti_PCSamplingConfigurationInfoParamsSize, - /*pPriv*/ NULL, - /*ctx*/ context, - /*numAttributes*/ configurationInfos.size(), - /*pPCSamplingConfigurationInfo*/ configurationInfos.data(), + /*size=*/CUpti_PCSamplingConfigurationInfoParamsSize, + /*pPriv=*/NULL, + /*ctx=*/context, + /*numAttributes=*/configurationInfos.size(), + /*pPCSamplingConfigurationInfo=*/configurationInfos.data(), }; cupti::pcSamplingSetConfigurationAttribute(&infoParams); }