Skip to content

Commit e512e07

Browse files
committed
GPU Standalone: Support running QA on async reco
1 parent 4876971 commit e512e07

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

GPU/GPUTracking/Standalone/Benchmark/standalone.cxx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,10 @@ int32_t SetupReconstruction()
304304

305305
chainTracking->mConfigQA = &configStandalone.QA;
306306
chainTracking->mConfigDisplay = &configStandalone.display;
307+
if (configStandalone.testSyncAsync) {
308+
chainTrackingAsync->mConfigQA = &configStandalone.QA;
309+
chainTrackingAsync->mConfigDisplay = &configStandalone.display;
310+
}
307311

308312
GPUSettingsGRP grp = rec->GetGRPSettings();
309313
GPUSettingsRec recSet;
@@ -426,6 +430,7 @@ int32_t SetupReconstruction()
426430
}
427431
}
428432

433+
bool runAsyncQA = procSet.runQA;
429434
if (configStandalone.testSyncAsync || configStandalone.testSync) {
430435
// Set settings for synchronous
431436
if (configStandalone.rundEdx == -1) {
@@ -434,6 +439,7 @@ int32_t SetupReconstruction()
434439
recSet.useMatLUT = false;
435440
if (configStandalone.testSyncAsync) {
436441
procSet.eventDisplay = nullptr;
442+
procSet.runQA = false;
437443
}
438444
}
439445
if (configStandalone.proc.rtc.optSpecialCode == -1) {
@@ -455,7 +461,7 @@ int32_t SetupReconstruction()
455461
steps.inputs.setBits(GPUDataTypes::InOutType::TPCCompressedClusters, true);
456462
steps.outputs.setBits(GPUDataTypes::InOutType::TPCCompressedClusters, false);
457463
procSet.runMC = false;
458-
procSet.runQA = false;
464+
procSet.runQA = runAsyncQA;
459465
procSet.eventDisplay = eventDisplay.get();
460466
procSet.runCompressionStatistics = 0;
461467
procSet.rtc.optSpecialCode = 0;
@@ -749,7 +755,6 @@ int32_t main(int argc, char** argv)
749755
recAsync->SetDebugLevelTmp(configStandalone.proc.debugLevel);
750756
}
751757
chainTrackingAsync = recAsync->AddChain<GPUChainTracking>();
752-
chainTrackingAsync->SetQAFromForeignChain(chainTracking);
753758
}
754759
if (configStandalone.proc.doublePipeline) {
755760
if (configStandalone.proc.debugLevel >= 3) {
@@ -959,6 +964,9 @@ int32_t main(int argc, char** argv)
959964
}
960965

961966
rec->Finalize();
967+
if (configStandalone.testSyncAsync) {
968+
recAsync->Finalize();
969+
}
962970
if (configStandalone.outputcontrolmem && rec->IsGPU()) {
963971
if (rec->unregisterMemoryForGPU(outputmemory.get()) || (configStandalone.proc.doublePipeline && recPipeline->unregisterMemoryForGPU(outputmemoryPipeline.get()))) {
964972
printf("Error unregistering memory\n");

0 commit comments

Comments
 (0)