From 6901ec6e8c9b26eff6cdfe5b7db00aa2c3549df1 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 17 Apr 2025 15:52:54 +0200 Subject: [PATCH] GPU CMake: Fix compile flags, particularly HIP deterministic mode was missing -ffp-contract=off --- dependencies/FindO2GPU.cmake | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/dependencies/FindO2GPU.cmake b/dependencies/FindO2GPU.cmake index 95db55041184f..d50705d106bf3 100644 --- a/dependencies/FindO2GPU.cmake +++ b/dependencies/FindO2GPU.cmake @@ -162,7 +162,7 @@ if(ENABLE_CUDA) if(GPUCA_DETERMINISTIC_MODE GREATER_EQUAL ${GPUCA_DETERMINISTIC_MODE_MAP_NO_FAST_MATH}) string(APPEND CMAKE_CUDA_FLAGS_${CMAKE_BUILD_TYPE_UPPER} " ${GPUCA_CUDA_NO_FAST_MATH_FLAGS}") elseif(NOT CMAKE_BUILD_TYPE_UPPER STREQUAL "DEBUG") - string(APPEND CMAKE_CUDA_FLAGS_${CMAKE_BUILD_TYPE_UPPER} " -use_fast_math --ftz=true") + string(APPEND CMAKE_CUDA_FLAGS_${CMAKE_BUILD_TYPE_UPPER} " -use_fast_math ${GPUCA_CUDA_DENORMALS_FLAGS}") endif() if(CMAKE_CXX_FLAGS MATCHES "(^| )-Werror( |$)") string(APPEND CMAKE_CUDA_FLAGS " -Werror=cross-execution-space-call") @@ -293,11 +293,10 @@ if(ENABLE_HIP) if(GPUCA_KERNEL_RESOURCE_USAGE_VERBOSE) string(APPEND CMAKE_HIP_FLAGS " -Rpass-analysis=kernel-resource-usage") endif() - if(NOT GPUCA_DETERMINISTIC_MODE GREATER_EQUAL ${GPUCA_DETERMINISTIC_MODE_MAP_NO_FAST_MATH}) - string(APPEND CMAKE_HIP_FLAGS " -ffast-math") - endif() - if(NOT CMAKE_BUILD_TYPE_UPPER STREQUAL "DEBUG") - string(APPEND CMAKE_HIP_FLAGS_${CMAKE_BUILD_TYPE_UPPER} " -O3") + if(GPUCA_DETERMINISTIC_MODE GREATER_EQUAL ${GPUCA_DETERMINISTIC_MODE_MAP_NO_FAST_MATH}) + string(APPEND CMAKE_HIP_FLAGS_${CMAKE_BUILD_TYPE_UPPER} " ${GPUCA_CXX_NO_FAST_MATH_FLAGS}") + elseif(NOT CMAKE_BUILD_TYPE_UPPER STREQUAL "DEBUG") + string(APPEND CMAKE_HIP_FLAGS_${CMAKE_BUILD_TYPE_UPPER} " -ffast-math -O3") endif() string(REGEX REPLACE "(gfx1[0-9]+;?)" "" CMAKE_HIP_ARCHITECTURES "${CMAKE_HIP_ARCHITECTURES}") # ROCm currently doesn’t support integrated graphics if(HIP_AMDGPUTARGET)