diff --git a/Detectors/TPC/workflow/src/CATrackerSpec.cxx b/Detectors/TPC/workflow/src/CATrackerSpec.cxx index 77aafb1919256..4ca02a1b2563d 100644 --- a/Detectors/TPC/workflow/src/CATrackerSpec.cxx +++ b/Detectors/TPC/workflow/src/CATrackerSpec.cxx @@ -709,17 +709,11 @@ DataProcessorSpec getCATrackerSpec(CompletionPolicyData* policyData, ca::Config return inputs; }; - //o2::framework::InputSpec{"cluster", o2::framework::ConcreteDataTypeMatcher{"TPC", "CLUSTERNATIVE"}}, - // o2::framework::InputSpec{"digits", o2::framework::ConcreteDataTypeMatcher{"TPC", "DIGITS"}})()); - auto createOutputSpecs = [&specconfig, &tpcsectors, &processAttributes]() { - std::vector outputSpecs{ - OutputSpec{gDataOriginTPC, "TRACKS", 0, Lifetime::Timeframe}, - OutputSpec{gDataOriginTPC, "CLUSREFS", 0, Lifetime::Timeframe}, - }; - if (!specconfig.outputTracks) { - // this case is the less unlikely one, that's why the logic this way - outputSpecs.clear(); + std::vector outputSpecs; + if (specconfig.outputTracks) { + outputSpecs.emplace_back(gDataOriginTPC, "TRACKS", 0, Lifetime::Timeframe); + outputSpecs.emplace_back(gDataOriginTPC, "CLUSREFS", 0, Lifetime::Timeframe); } if (specconfig.processMC && specconfig.outputTracks) { outputSpecs.emplace_back(gDataOriginTPC, "TRACKSMCLBL", 0, Lifetime::Timeframe); diff --git a/GPU/GPUTracking/Base/GPUReconstructionCPU.h b/GPU/GPUTracking/Base/GPUReconstructionCPU.h index e2bd99d4b8db3..dfc26366e2793 100644 --- a/GPU/GPUTracking/Base/GPUReconstructionCPU.h +++ b/GPU/GPUTracking/Base/GPUReconstructionCPU.h @@ -281,7 +281,7 @@ inline int GPUReconstructionCPU::runKernel(const krnlExec& x, const krnlRunRange } if (mProcessingSettings.debugLevel >= 1) { t = &getKernelTimer(myStep, !IsGPU() || cpuFallback ? getOMPThreadNum() : x.stream); - if (!mProcessingSettings.deviceTimers || !IsGPU() || cpuFallback) { + if ((!mProcessingSettings.deviceTimers || !IsGPU() || cpuFallback) && (mNestedLoopOmpFactor < 2 || getOMPThreadNum() == 0)) { t->Start(); } } @@ -300,10 +300,10 @@ inline int GPUReconstructionCPU::runKernel(const krnlExec& x, const krnlRunRange } if (mProcessingSettings.debugLevel >= 1) { if (t) { - if (!mProcessingSettings.deviceTimers || !IsGPU() || cpuFallback) { - t->Stop(); - } else { + if (!(!mProcessingSettings.deviceTimers || !IsGPU() || cpuFallback)) { t->AddTime(setup.t); + } else if (mNestedLoopOmpFactor < 2 || getOMPThreadNum() == 0) { + t->Stop(); } } if (CheckErrorCodes(cpuFallback)) {