From 6fe815daa117bfa4cd36cae7dc4719539b777a89 Mon Sep 17 00:00:00 2001 From: Brian Ok <63064763+okBrian@users.noreply.github.com> Date: Wed, 6 Nov 2024 06:09:49 -0800 Subject: [PATCH] Disable TWO_PASS_IPO if NVHPC Version < 23.11 (#686) Co-authored-by: Spencer Bryngelson --- CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c3e07c9bf..c0bb7616b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,8 +69,8 @@ elseif ((CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC") OR (CMAKE_Fortran_COMPILER_ message(FATAL_ERROR "ERROR: When using NVHPC, v21.7 or newer is required to build MFC.\n${__err_msg}") endif() - if ((CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 23.11) AND (CMAKE_BUILD_TYPE STREQUAL "Debug") AND MFC_OpenACC) - message(FATAL_ERROR "ERROR: When using NVHPC, MFC with Debug and GPU options requires NVHPC v23.11 or newer.\n${__err_msg}") + if ((CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 24.5) AND (CMAKE_BUILD_TYPE STREQUAL "Debug") AND MFC_OpenACC) + message(FATAL_ERROR "ERROR: When using NVHPC, MFC with Debug and GPU options requires NVHPC v24.5 or newer.\n${__err_msg}") endif() elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_C_COMPILER_ID STREQUAL "AppleClang") message(FATAL_ERROR "ERROR: MFC does not support the Apple Clang compilers. Please consult the documentation.\n${__err_msg}") @@ -216,7 +216,9 @@ if (CMAKE_BUILD_TYPE STREQUAL "Release") # Enable LTO/IPO if supported if (CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC") if (MFC_Unified) - message(STATUS "IPO is not available with NVHPC using Unified Memory") + message(STATUS "LTO/IPO is not available with NVHPC using Unified Memory") + elseif(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS "23.11") + message(STATUS "LTO/IPO is not supported in NVHPC Version < 23.11. Use a newer version of NVHPC for best performance.") else() message(STATUS "Performing IPO using -Mextract followed by -Minline") set(NVHPC_USE_TWO_PASS_IPO TRUE)