Skip to content

Commit 8c87d37

Browse files
committed
Adding deterministic mode
1 parent 52235a3 commit 8c87d37

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@ int32_t GPUChainTracking::RunTPCClusterizer(bool synchronizeOutput)
664664
int32_t maxThreads = mRec->getNKernelHostThreads(true);
665665
// bool recreateMemoryAllocator = false;
666666
mRec->runParallelOuterLoop(doGPU, numLanes, [&](uint32_t lane) {
667-
nnApplications[lane].init(nn_settings);
667+
nnApplications[lane].init(nn_settings, GetProcessingSettings().deterministicGPUReconstruction);
668668
if (nnApplications[lane].mModelsUsed[0]) {
669669
SetONNXGPUStream(*(nnApplications[lane].mModelClass).getSessionOptions(), lane, &deviceId);
670670
(nnApplications[lane].mModelClass).setDeviceId(deviceId);

GPU/GPUTracking/TPCClusterFinder/GPUTPCNNClusterizerHost.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
using namespace o2::gpu;
3030

31-
void GPUTPCNNClusterizerHost::init(const GPUSettingsProcessingNNclusterizer& settings)
31+
void GPUTPCNNClusterizerHost::init(const GPUSettingsProcessingNNclusterizer& settings, bool useDeterministicMode)
3232
{
3333
std::string class_model_path = settings.nnClassificationPath, reg_model_path = settings.nnRegressionPath;
3434
std::vector<std::string> reg_model_paths_local;
@@ -54,7 +54,7 @@ void GPUTPCNNClusterizerHost::init(const GPUSettingsProcessingNNclusterizer& set
5454
{"intra-op-num-threads", std::to_string(settings.nnInferenceIntraOpNumThreads)},
5555
{"inter-op-num-threads", std::to_string(settings.nnInferenceInterOpNumThreads)},
5656
{"enable-optimizations", std::to_string(settings.nnInferenceEnableOrtOptimization)},
57-
{"deterministic-compute", std::to_string(settings.nnInferenceUseDeterministicCompute)}, // TODO: This unfortunately doesn't guarantee determinism (25.07.2025)
57+
{"deterministic-compute", std::to_string(useDeterministicMode? 1 : settings.nnInferenceUseDeterministicCompute)}, // TODO: This unfortunately doesn't guarantee determinism (25.07.2025)
5858
{"enable-profiling", std::to_string(settings.nnInferenceOrtProfiling)},
5959
{"profiling-output-path", settings.nnInferenceOrtProfilingPath},
6060
{"logging-level", std::to_string(settings.nnInferenceVerbosity)},

GPU/GPUTracking/TPCClusterFinder/GPUTPCNNClusterizerHost.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ class GPUTPCNNClusterizerHost
4545
{
4646
public:
4747
GPUTPCNNClusterizerHost() = default;
48-
GPUTPCNNClusterizerHost(const GPUSettingsProcessingNNclusterizer& settings) { init(settings); }
48+
GPUTPCNNClusterizerHost(const GPUSettingsProcessingNNclusterizer& settings, bool useDeterministicMode = false) { init(settings, useDeterministicMode); }
4949

50-
void init(const GPUSettingsProcessingNNclusterizer&);
50+
void init(const GPUSettingsProcessingNNclusterizer&, bool = false);
5151
void initClusterizer(const GPUSettingsProcessingNNclusterizer&, GPUTPCNNClusterizer&);
5252
void createBoundary(GPUTPCNNClusterizer&);
5353
void createIndexLookup(GPUTPCNNClusterizer&);

0 commit comments

Comments
 (0)