Skip to content

Commit f7f6cd0

Browse files
committed
GPU: Tentative workaround for MI100 serialization bug
1 parent 492e244 commit f7f6cd0

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

GPU/GPUTracking/Definitions/GPUSettingsList.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,7 @@ AddOption(debugOnFailureMaxN, uint32_t, 1, "", 0, "Max number of times to run th
370370
AddOption(debugOnFailureMaxFiles, uint32_t, 0, "", 0, "Max number of files to have in the target folder")
371371
AddOption(debugOnFailureMaxSize, uint32_t, 0, "", 0, "Max size of existing dumps in the target folder in GB")
372372
AddOption(debugOnFailureDirectory, std::string, ".", "", 0, "Target folder for debug / dump")
373+
AddOption(amdMI100SerializationWorkaround, bool, false, "", 0, "Enable workaround that mitigates MI100 serialization bug")
373374
AddVariable(eventDisplay, o2::gpu::GPUDisplayFrontendInterface*, nullptr)
374375
AddSubConfig(GPUSettingsProcessingRTC, rtc)
375376
AddSubConfig(GPUSettingsProcessingRTCtechnical, rtctech)

GPU/GPUTracking/Global/GPUChainTrackingSectorTracker.cxx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@ int32_t GPUChainTracking::RunTPCTrackingSectors_internal()
161161
GPUTPCTracker& trk = processors()->tpcTrackers[iSector];
162162
GPUTPCTracker& trkShadow = doGPU ? processorsShadow()->tpcTrackers[iSector] : trk;
163163
int32_t useStream = StreamForSector(iSector);
164+
if (GetProcessingSettings().amdMI100SerializationWorkaround) {
165+
SynchronizeStream(useStream); // TODO: Remove this workaround once fixed on MI100
166+
}
164167

165168
if (GetProcessingSettings().debugLevel >= 3) {
166169
GPUInfo("Creating Sector Data (Sector %d)", iSector);

0 commit comments

Comments
 (0)