Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
978e815
updating to c++20
kab163 Dec 18, 2025
8316415
Merge branch 'develop' of https://github.com/LLNL/Umpire into kab163/…
kab163 Dec 19, 2025
98afe51
testing radiuss spack config update
kab163 Dec 19, 2025
9848c49
update to CLI for c++20
kab163 Dec 19, 2025
04fd28b
update github workflows for windows
kab163 Dec 19, 2025
1736e17
small fix to fix warning
kab163 Dec 19, 2025
df584eb
removing windows cmake block
kab163 Dec 19, 2025
3b2688b
update minimum cmake required
kab163 Dec 19, 2025
b4d79df
Merge branch 'develop' of github.com:LLNL/Umpire into kab163/update-c…
kab163 Jan 5, 2026
9457e94
Merge branch 'develop' of github.com:LLNL/Umpire into kab163/update-c…
kab163 Jan 16, 2026
0931c04
Merge branch 'kab163/update-c++20' of github.com:LLNL/Umpire into kab…
kab163 Jan 16, 2026
9fa0aab
update fmt and cmakelists
kab163 Jan 16, 2026
207e54e
use cmake 3.25 or newer for abi test
kab163 Jan 17, 2026
fbc406f
cmake update to Dockerfile
kab163 Jan 17, 2026
98c972f
testing out radiuss-spack-config update
kab163 Jan 20, 2026
1461318
moving required version down to 3.24.2
kab163 Jan 21, 2026
c1823c0
undoing cmake version update
kab163 Jan 22, 2026
5b10293
testing oneapi updates
kab163 Jan 22, 2026
779e84a
adding more compiler updates for radiuss-spack-config
kab163 Jan 22, 2026
3f22b0d
update fmt for spack
kab163 Jan 22, 2026
20f8db8
fixing typo
kab163 Jan 22, 2026
8f3c3b9
updating radiuss spack config
kab163 Jan 28, 2026
3540641
pulling in radiuss spack config updates
kab163 Feb 3, 2026
5e1ff28
trigger CI
kab163 Feb 4, 2026
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: 3 additions & 1 deletion .github/actions/abi-compat/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-8.1.0

RUN sudo apt-get -qq update && sudo apt-get install -y --no-install-recommends abigail-tools perl-base binutils libtool pkg-config elfutils libelf-dev
RUN sudo apt-get -qq update && sudo apt-get install -y --no-install-recommends abigail-tools perl-base binutils libtool pkg-config elfutils libelf-dev python3-pip

RUN sudo pip3 install cmake --upgrade

RUN git clone https://github.com/lvc/vtable-dumper && cd vtable-dumper \
&& sudo make install
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ jobs:
UMPIRE_ENABLE_TOOLS=Off
UMPIRE_ENABLE_DEVELOPER_BENCHMARKS=On
UMPIRE_ENABLE_BENCHMARKS=Off
BLT_CXX_STD="c++17"
CMAKE_CXX_STANDARD=17
BLT_CXX_STD="c++20"
CMAKE_CXX_STANDARD=20
CMAKE_BUILD_TYPE=Release
${{ matrix.shared.args }}
run-build: true
Expand Down
37 changes: 15 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# SPDX-License-Identifier: (MIT)
##############################################################################
cmake_minimum_required(VERSION 3.23)
cmake_minimum_required(VERSION 3.24.2)

cmake_policy(SET CMP0025 NEW)
cmake_policy(SET CMP0048 NEW)
Expand All @@ -26,33 +26,36 @@ set(UMPIRE_VERSION_RC "")

include(cmake/SetupUmpireOptions.cmake)

# Default to c++17 if not specified by the user.
set(BLT_CXX_STD "c++17" CACHE STRING "Version of C++ standard")
# Default to C++20 if not specified by the user.
set(BLT_CXX_STD "c++20" CACHE STRING "Version of C++ standard")

# If BLT_CXX_STD is set by the user, check that it is at least 17.
# If BLT_CXX_STD is set by the user, check that it is at least 20.
if("${BLT_CXX_STD}" STREQUAL "c++98" OR
"${BLT_CXX_STD}" STREQUAL "c++03" OR
"${BLT_CXX_STD}" STREQUAL "c++11" OR
"${BLT_CXX_STD}" STREQUAL "c++14")
message(FATAL_ERROR "Umpire requires a minimum C++ standard of c++17. Please set BLT_CXX_STD accordingly.")
"${BLT_CXX_STD}" STREQUAL "c++14" OR
"${BLT_CXX_STD}" STREQUAL "c++17")
message(FATAL_ERROR "Umpire requires a minimum C++ standard of c++20. Please set BLT_CXX_STD accordingly.")
endif()

# If CMAKE_CUDA_STANDARD is set by the user, check that it is at least 17.
# If CMAKE_CUDA_STANDARD is set by the user, check that it is at least 20.
# If it is not set, it will be set later by BLT to match BLT_CXX_STD.
if ("${CMAKE_CUDA_STANDARD}" STREQUAL "98" OR
"${CMAKE_CUDA_STANDARD}" STREQUAL "03" OR
"${CMAKE_CUDA_STANDARD}" STREQUAL "11" OR
"${CMAKE_CUDA_STANDARD}" STREQUAL "14")
message(FATAL_ERROR "Umpire requires a minimum CUDA standard of 17. Please set BLT_CXX_STD and/or CMAKE_CUDA_STANDARD accordingly.")
"${CMAKE_CUDA_STANDARD}" STREQUAL "14" OR
"${CMAKE_CUDA_STANDARD}" STREQUAL "17")
message(FATAL_ERROR "Umpire requires a minimum CUDA standard of 20. Please set BLT_CXX_STD and/or CMAKE_CUDA_STANDARD accordingly.")
endif()

# If CMAKE_HIP_STANDARD is set by the user, check that it is at least 17.
# If CMAKE_HIP_STANDARD is set by the user, check that it is at least 20.
# If it is not set, it will be set later by BLT to match BLT_CXX_STD.
if ("${CMAKE_HIP_STANDARD}" STREQUAL "98" OR
"${CMAKE_HIP_STANDARD}" STREQUAL "03" OR
"${CMAKE_HIP_STANDARD}" STREQUAL "11" OR
"${CMAKE_HIP_STANDARD}" STREQUAL "14")
message(FATAL_ERROR "Umpire requires a minimum HIP standard of 17. Please set BLT_CXX_STD and/or CMAKE_HIP_STANDARD accordingly.")
"${CMAKE_HIP_STANDARD}" STREQUAL "14" OR
"${CMAKE_HIP_STANDARD}" STREQUAL "17")
message(FATAL_ERROR "Umpire requires a minimum HIP standard of 20. Please set BLT_CXX_STD and/or CMAKE_HIP_STANDARD accordingly.")
endif()

if (UMPIRE_ENABLE_SYCL)
Expand Down Expand Up @@ -174,16 +177,6 @@ include(cmake/SetupCMakeBasics.cmake)
include(cmake/SetupCompilerFlags.cmake)
include(cmake/SetupUmpireThirdParty.cmake)

if (WIN32)
if ((NOT UMPIRE_ENABLE_FILESYSTEM) OR (CMAKE_CXX_STANDARD LESS 17))
message(FATAL_ERROR "\
Windows builds require the FileSystem to be enabled \
and the C/C++ standard to be set to 17 or higher. \
Please re-configure with UMPIRE_ENABLE_FILESYSTEM=ON, \
with BLT_CXX_STD=c++17 or greater.")
endif()
endif()

add_subdirectory(src)

configure_package_config_file(
Expand Down
2 changes: 1 addition & 1 deletion examples/resource_aware_pool_example.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ __device__ void sleep(clock_value_t sleep_cycles)
__global__ void do_sleep()
{
// sleep - works still at 1000, so keeping it at 100k
sleep(10000000);
sleep((clock_value_t)10000000);
}
#endif

Expand Down
4 changes: 2 additions & 2 deletions src/tpl/umpire/CLI11/CLI11.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6431,14 +6431,14 @@ struct AppFriend {
/// Wrap _parse_short, perfectly forward arguments and return
template <typename... Args>
static auto parse_arg(App *app, Args &&... args) ->
typename std::result_of<decltype (&App::_parse_arg)(App, Args...)>::type {
typename std::invoke_result<decltype (&App::_parse_arg), App, Args...>::type {
return app->_parse_arg(std::forward<Args>(args)...);
}

/// Wrap _parse_subcommand, perfectly forward arguments and return
template <typename... Args>
static auto parse_subcommand(App *app, Args &&... args) ->
typename std::result_of<decltype (&App::_parse_subcommand)(App, Args...)>::type {
typename std::invoke_result<decltype (&App::_parse_subcommand), App, Args...>::type {
return app->_parse_subcommand(std::forward<Args>(args)...);
}
/// Wrap the fallthrough parent function to make sure that is working correctly
Expand Down
2 changes: 1 addition & 1 deletion src/tpl/umpire/fmt
Submodule fmt updated 187 files
Loading