Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions GPU/GPUTracking/Base/GPUReconstruction.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,11 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice()
mProcessingSettings->recoTaskTiming = true;
}
if (GetProcessingSettings().deterministicGPUReconstruction == -1) {
#ifdef GPUCA_DETERMINISTIC_MODE
mProcessingSettings->deterministicGPUReconstruction = 1;
#else
mProcessingSettings->deterministicGPUReconstruction = GetProcessingSettings().debugLevel >= 6;
#endif
}
if (GetProcessingSettings().deterministicGPUReconstruction) {
#ifndef GPUCA_DETERMINISTIC_MODE
Expand Down
2 changes: 1 addition & 1 deletion GPU/GPUTracking/Definitions/GPUSettingsList.h
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ AddOption(debugMask, uint32_t, (1 << 18) - 1, "debugMask", 0, "Mask for debug ou
AddOption(debugLogSuffix, std::string, "", "debugSuffix", 0, "Suffix for debug log files with --debug 6")
AddOption(serializeGPU, int8_t, 0, "", 0, "Synchronize after each kernel call (bit 1) and DMA transfer (bit 2) and identify failures")
AddOption(recoTaskTiming, bool, 0, "", 0, "Perform summary timing after whole reconstruction tasks")
AddOption(deterministicGPUReconstruction, int32_t, -1, "", 0, "Make CPU and GPU debug output comparable (sort / skip concurrent parts), -1 = automatic if debugLevel >= 6", def(1))
AddOption(deterministicGPUReconstruction, int32_t, -1, "", 0, "Make CPU and GPU debug output comparable (sort / skip concurrent parts), -1 = automatic if debugLevel >= 6 or deterministic compile flag set", def(1))
AddOption(showOutputStat, bool, false, "", 0, "Print some track output statistics")
AddOption(runCompressionStatistics, bool, false, "compressionStat", 0, "Run statistics and verification for cluster compression")
AddOption(resetTimers, int8_t, 1, "", 0, "Reset timers every event")
Expand Down
5 changes: 4 additions & 1 deletion dependencies/FindO2GPU.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# or submit itself to any jurisdiction.

# NOTE!!!! - Whenever this file is changed, move it over to alidist/resources
# FindO2GPU.cmake Version 5
# FindO2GPU.cmake Version 6

if(NOT DEFINED ENABLE_CUDA)
set(ENABLE_CUDA "AUTO")
Expand Down Expand Up @@ -71,6 +71,9 @@ endfunction()
STRING(REGEX REPLACE "\-std=[^ ]*" "" O2_GPU_CMAKE_CXX_FLAGS_NOSTD "${CMAKE_CXX_FLAGS}")

# ================================== Fast Math / Deterministic Mode ==================================
if(DEFINED ENV{O2_OVERRIDE_GPUCA_DETERMINISTIC_MODE})
set(GPUCA_DETERMINISTIC_MODE $ENV{O2_OVERRIDE_GPUCA_DETERMINISTIC_MODE})
endif()
# set(GPUCA_DETERMINISTIC_MODE WHOLEO2) # Override
set(GPUCA_DETERMINISTIC_MODE_MAP_OFF 0)
set(GPUCA_DETERMINISTIC_MODE_MAP_NO_FAST_MATH 1) # No -ffast-math and similar compile flags for GPU folder
Expand Down