Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
a58f99c
Created the QIHandler class for handling QuadraticInterpolator data, …
ldowen Jul 25, 2025
86b7464
Created a QI base class, make the QI class the value class that inher…
ldowen Jul 28, 2025
23d8ba2
Switched QI to use managed arrays instead of calling Umpire directly
ldowen Jul 28, 2025
b6aa325
Removed the QIView class, GPUified the CubicHermitInterpolator and ad…
ldowen Jul 29, 2025
8ac532c
Added default constructors for QI and CHI, added the index operator f…
ldowen Jul 29, 2025
9f7ef88
Added move operation to QIBase and CHIBase
ldowen Jul 29, 2025
440e72b
Added copy and assignment constructors and tests for the QI and CHI c…
ldowen Jul 31, 2025
653bf65
Add explicit calls to base copy and assignment constructors in QI and…
ldowen Jul 31, 2025
891ef90
Updated RELEASE_NOTES to test new mirror
ldowen Aug 1, 2025
c5c9be6
Merge branch 'develop' into feature/gpu/interpolators
ldowen Aug 14, 2025
b427ef6
Changed QIBase and CHIBase to QIView and CHIView
ldowen Aug 14, 2025
3d3436e
Merge branch 'develop' into feature/gpu/interpolators
ldowen Aug 18, 2025
fc918f8
Merge branch 'develop' into feature/gpu/interpolators
ldowen Aug 25, 2025
b7191e3
Removed unused line in QI
ldowen Aug 27, 2025
7420d98
Removed chai submodule, added package recipes for chai, raja, umpire,…
ldowen Aug 27, 2025
f630226
Chagned getPointer to data
ldowen Aug 27, 2025
0f30958
Update release notes
ldowen Aug 28, 2025
0a88b0e
Merge branch 'develop' into update/remove_chai_submodule
ldowen Aug 28, 2025
e3d703b
Changed ENABLE_HIP to SPHERAL_ENABLE_HIP and added it to the export t…
ldowen Sep 4, 2025
a21597d
Removed umpire variant logic
ldowen Sep 4, 2025
afd2f58
Fix spack package typo
ldowen Sep 4, 2025
63c1770
Turn off mpi for axom when ~mpi
ldowen Sep 4, 2025
f5b71f2
Change back to using ENABLE_HIP, let that be a different PR
ldowen Sep 4, 2025
ed7355c
Removed non-mpi CI tests
ldowen Sep 4, 2025
a5d599d
Removed redundant axom variant added a few commits ago, added spheral…
ldowen Sep 4, 2025
68c45ca
Revert "Removed redundant axom variant added a few commits ago, added…
ldowen Sep 5, 2025
918a2ad
Revert "Removed non-mpi CI tests"
ldowen Sep 5, 2025
b6c136f
Revert "Change back to using ENABLE_HIP, let that be a different PR"
ldowen Sep 5, 2025
66c90f4
Revert "Turn off mpi for axom when ~mpi"
ldowen Sep 5, 2025
21d150e
Revert "Fix spack package typo"
ldowen Sep 5, 2025
7797465
Revert "Removed umpire variant logic"
ldowen Sep 5, 2025
ff6f203
Reverted SPHERAL_ENABLE_HIP back to just ENABLE_HIP, added leos flags…
ldowen Sep 5, 2025
295ff7e
Forgot about typo in spack package
ldowen Sep 5, 2025
25a8736
libleos_C.a does not exist for some reason
ldowen Sep 5, 2025
dca07de
Turn xml on for leos
ldowen Sep 6, 2025
7b711b5
Explicitly turn off xml for leos
ldowen Sep 8, 2025
0eeca88
Do not use +xml variant in spheral
ldowen Sep 8, 2025
84fd39a
Switched to using find_package on hdf5 and LIP libraries, added logic…
ldowen Sep 8, 2025
5ae2642
Try turning yaml off for leos and changing name of LIP package in cma…
ldowen Sep 8, 2025
3863907
Change lip to LIP
ldowen Sep 8, 2025
b771c6e
LIP is incorrectly exported so reverting back to importing it the mes…
ldowen Sep 8, 2025
2edf1ab
Fix hdf5 target names
ldowen Sep 8, 2025
f082082
Add correct hdf5 targets to lists
ldowen Sep 8, 2025
5ecc1ac
Remove duplicated hdf5_DIR in fp_dirs list
ldowen Sep 8, 2025
d6ebe4f
Build static cxx libraries if rocm is turned on, otherwise mysterious…
ldowen Sep 9, 2025
7ceae95
Changed umpire and raja versions based on feedback from Collette, rev…
ldowen Sep 10, 2025
dbfe845
Remove printf statement left in LEOS_bundle.cc
ldowen Sep 10, 2025
2b9243e
One other addition to the release notes
ldowen Sep 10, 2025
8ef5ced
Bring yaml back to leos because it is apparently needed for reading a…
ldowen Sep 11, 2025
08696b5
Make preferred leos package the older one for now
ldowen Sep 11, 2025
8b77867
Put link flags directly in blt call
ldowen Sep 12, 2025
0c5cb28
Add TPL dependencies and have leos get hip and cuda variants when nec…
ldowen Sep 15, 2025
444e36b
Change leos version back to 8.5.0 and ensure it is only a dependency …
ldowen Sep 15, 2025
009dc72
It seems leos 8.5.2 is more stable than 8.5.0 even if something is br…
ldowen Sep 15, 2025
63ffbbd
Reverting back to leos 8.4.2 without rocm versions but added note for…
ldowen Sep 16, 2025
1ab74df
Merge with update/remove_chai_submodule
ldowen Sep 16, 2025
a0799a0
Fixed copy and assignment constructors for QI and CHI to avoid copyin…
ldowen Sep 16, 2025
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
5 changes: 0 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@
[submodule "extern/PolyClipper"]
path = extern/PolyClipper
url = https://github.com/LLNL/PolyClipper
[submodule "extern/chai"]
path = extern/chai
url = https://github.com/llnl/chai
branch = feature/ManagedSharedPtr
ignore = all
[submodule "extern/ATS"]
path = extern/ATS
url = https://github.com/LLNL/ATS
7 changes: 7 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ Notable changes include:
* Switched the CZ CI to use Dane instead of Ruby.
* Increased the number of threads for certain memory intensive tests to prevent OOM error.
* Updated GitHub actions since GitLab mirror changed.
* CHAI is no longer a submodule.
* CHAI, RAJA, Umpire, and Camp are all brought in through Spack as external TPLs now.
* Umpire is updated to version 2025.03.1.
* RAJA is updated to version 2025.03.0.
* LEOs spack recipe is simplified.
* Added spack logic to build TPLs that use CMake as debug when debug is turned on in the spec
by adding `build_type=Debug`.

Version v2025.06.1 -- Release date 2025-07-21
==============================================
Expand Down
56 changes: 29 additions & 27 deletions cmake/InstallTPLs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ if (NOT ENABLE_CXXONLY)
list(APPEND BUILD_REQ_LIST ${SPHERAL_ROOT_DIR}/scripts/docs-requirements.txt)
endif()

Spheral_Python_Env(python_build_env
Spheral_Python_Env(python_build_env
REQUIREMENTS ${BUILD_REQ_LIST}
PREFIX ${CMAKE_BINARY_DIR}
)
Expand All @@ -74,7 +74,7 @@ if (NOT polyclipper_DIR)
EXPORT spheral_cxx-targets
DESTINATION lib/cmake)
set_target_properties(PolyClipperAPI PROPERTIES EXPORT_NAME spheral::PolyClipperAPI)
message("Found PolyClipper External Package")
message("Found PolyClipper External Package.")
else()
list(APPEND SPHERAL_EXTERN_LIBS polyclipper)
endif()
Expand Down Expand Up @@ -111,7 +111,7 @@ if(adiak_FOUND)
list(APPEND SPHERAL_BLT_DEPENDS adiak::adiak)
list(APPEND SPHERAL_FP_TPLS adiak)
list(APPEND SPHERAL_FP_DIRS ${adiak_DIR})
message("Found Adiak External Package")
message("Found Adiak External Package.")
endif()

message("-----------------------------------------------------------------------------")
Expand All @@ -132,7 +132,7 @@ if(POLYTOPE_FOUND)
"${POLYTOPE_INSTALL_PREFIX}/${POLYTOPE_SITE_PACKAGES_PATH}/polytope.so not found")
endif()
endif()
message("Found Polytope External Package")
message("Found Polytope External Package.")
else()
list(APPEND SPHERAL_EXTERN_LIBS polytope)
endif()
Expand All @@ -150,45 +150,48 @@ if (SPHERAL_ENABLE_TIMERS)
list(APPEND SPHERAL_BLT_DEPENDS caliper)
list(APPEND SPHERAL_FP_TPLS caliper)
list(APPEND SPHERAL_FP_DIRS ${caliper_DIR})
message("Found Caliper External Package")
message("Found Caliper External Package.")
endif()
endif()

message("-----------------------------------------------------------------------------")
# HDF5
find_package(hdf5 REQUIRED NO_DEFAULT_PATH PATHS ${hdf5_DIR})
if(hdf5_FOUND)
message("Found HDF5 External Package.")
list(APPEND SPHERAL_BLT_DEPENDS hdf5-shared hdf5_hl-shared)
list(APPEND SPHERAL_FP_TPLS hdf5-shared hdf5_hl-shared)
list(APPEND SPHERAL_FP_DIRS ${hdf5_DIR})
blt_convert_to_system_includes(TARGET hdf5-shared hdf5_hl-shared)
endif()

message("-----------------------------------------------------------------------------")
find_package(RAJA REQUIRED NO_DEFAULT_PATH PATHS ${raja_DIR})
if (RAJA_FOUND)
if (RAJA_FOUND)
message("Found RAJA External Package.")
blt_convert_to_system_includes(TARGET RAJA)
endif()

message("-----------------------------------------------------------------------------")
find_package(umpire REQUIRED NO_DEFAULT_PATH PATHS ${umpire_DIR})
if (umpire_FOUND)
if (umpire_FOUND)
message("Found umpire External Package.")
blt_convert_to_system_includes(TARGET umpire)
endif()

message("-----------------------------------------------------------------------------")
# Chai
if(chai_DIR AND USE_EXTERNAL_CHAI)
find_package(chai REQUIRED NO_DEFAULT_PATH PATHS ${chai_DIR})
if (chai_FOUND)
message("Found chai External Package.")
endif()
list(APPEND SPHERAL_FP_TPLS chai)
list(APPEND SPHERAL_FP_DIRS ${chai_DIR})
else()
message("Using chai Submodule.")
set(chai_DIR "${SPHERAL_ROOT_DIR}/extern/chai")
set(CHAI_ENABLE_TESTS Off)
set(CHAI_ENABLE_EXAMPLES Off)
set(CHAI_ENABLE_RAJA_PLUGIN On CACHE BOOL "")
add_subdirectory(${chai_DIR})
find_package(chai REQUIRED NO_DEFAULT_PATH PATHS ${chai_DIR})
if(chai_FOUND)
message("Found chai External Package.")
blt_convert_to_system_includes(TARGET chai)
endif()



list(APPEND SPHERAL_BLT_DEPENDS chai camp RAJA umpire)
list(APPEND SPHERAL_FP_TPLS RAJA umpire)
list(APPEND SPHERAL_FP_DIRS ${raja_DIR} ${umpire_DIR})
list(APPEND SPHERAL_FP_TPLS chai RAJA umpire)
list(APPEND SPHERAL_FP_DIRS ${chai_DIR} ${raja_DIR} ${umpire_DIR})
set_property(GLOBAL PROPERTY SPHERAL_FP_TPLS ${SPHERAL_FP_TPLS})
set_property(GLOBAL PROPERTY SPHERAL_FP_DIRS ${SPHERAL_FP_DIRS})

Expand All @@ -197,19 +200,19 @@ message("-----------------------------------------------------------------------
if (ENABLE_SUNDIALS)
set(SUNDIALS_DIR "${sundials_DIR}")
find_package(SUNDIALS REQUIRED NO_DEFAULT_PATH
COMPONENTS kinsol nvecparallel nvecmpiplusx nvecserial
COMPONENTS kinsol nvecparallel nvecmpiplusx nvecserial
PATHS ${sundials_DIR}/lib64/cmake/sundials ${sundials_DIR}/lib/cmake/sundials)
if(SUNDIALS_FOUND)
list(APPEND SPHERAL_BLT_DEPENDS SUNDIALS::kinsol_static SUNDIALS::nvecparallel_static SUNDIALS::nvecmpiplusx_static SUNDIALS::nvecserial_static)
list(APPEND SPHERAL_FP_TPLS SUNDIALS::kinsol_static SUNDIALS::nvecparallel_static SUNDIALS::nvecmpiplusx_static SUNDIALS::nvecserial_static)
list(APPEND SPHERAL_FP_DIRS ${sundials_DIR})
message("Found SUNDIALS External Package")
message("Found SUNDIALS External Package.")
endif()
endif()

message("-----------------------------------------------------------------------------")
# TPLs that must be imported
list(APPEND SPHERAL_EXTERN_LIBS boost eigen qhull silo hdf5)
list(APPEND SPHERAL_EXTERN_LIBS boost eigen qhull silo)

blt_list_append( TO SPHERAL_EXTERN_LIBS ELEMENTS leos IF ENABLE_LEOS)
blt_list_append( TO SPHERAL_EXTERN_LIBS ELEMENTS aneos IF ENABLE_ANEOS)
Expand Down Expand Up @@ -241,4 +244,3 @@ if (NOT ENABLE_CXXONLY)
DESTINATION ${CMAKE_INSTALL_PREFIX}/.venv/${SPHERAL_SITE_PACKAGES_PATH}/polytope/
)
endif()

32 changes: 16 additions & 16 deletions cmake/SpheralMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,26 @@ macro(spheral_add_executable)
"${options}" "${singleValueArgs}" "${multiValueArgs}" ${ARGN})

if (ENABLE_OPENMP)
list (APPEND arg_DEPENDS_ON openmp)
endif ()
list(APPEND arg_DEPENDS_ON openmp)
endif()

if (ENABLE_CUDA)
list (APPEND arg_DEPENDS_ON cuda)
endif ()
list(APPEND arg_DEPENDS_ON cuda)
endif()

if (ENABLE_HIP)
list (APPEND arg_DEPENDS_ON blt::hip)
list (APPEND arg_DEPENDS_ON blt::hip_runtime)
endif ()

if (${arg_TEST})
set (_output_dir ${CMAKE_BINARY_DIR}/tests)
elseif (${arg_REPRODUCER})
set (_output_dir ${CMAKE_BINARY_DIR}/reproducers)
elseif (${arg_BENCHMARK})
set (_output_dir ${CMAKE_BINARY_DIR}/benchmark)
else ()
set (_output_dir ${CMAKE_BINARY_DIR}/bin)
list(APPEND arg_DEPENDS_ON blt::hip)
list(APPEND arg_DEPENDS_ON blt::hip_runtime)
endif()

if(${arg_TEST})
set(_output_dir ${CMAKE_BINARY_DIR}/tests)
elseif(${arg_REPRODUCER})
set(_output_dir ${CMAKE_BINARY_DIR}/reproducers)
elseif(${arg_BENCHMARK})
set(_output_dir ${CMAKE_BINARY_DIR}/benchmark)
else()
set(_output_dir ${CMAKE_BINARY_DIR}/bin)
endif()

blt_add_executable(
Expand Down
2 changes: 2 additions & 0 deletions cmake/spheral/SpheralHandleTPL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ function(Spheral_Handle_TPL lib_name TPL_CMAKE_DIR)
TREAT_INCLUDES_AS_SYSTEM ON
INCLUDES ${${lib_name}_INCLUDE_DIR}
LIBRARIES ${${lib_name}_LIBRARIES}
DEPENDS_ON ${${lib_name}_DEPENDS}
LINK_FLAGS ${${lib_name}_LINK_FLAGS}
EXPORTABLE ON)
get_target_property(_is_imported ${lib_name} IMPORTED)
if(NOT ${_is_imported})
Expand Down
9 changes: 1 addition & 8 deletions cmake/spheral_cxx-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ if(NOT SPHERAL_FOUND)
set(SPHERAL_ENABLE_MPI "@ENABLE_MPI@")
set(SPHERAL_ENABLE_OPENMP "@ENABLE_OPENMP@")
set(SPHERAL_ENABLE_CUDA "@ENABLE_CUDA@")
set(SPHERAL_ENABLE_HIP "@ENABLE_HIP@")
if(NOT axom_DIR)
set(axom_DIR "@axom_DIR@" CACHE PATH "")
endif()
Expand All @@ -31,14 +32,6 @@ if(NOT SPHERAL_FOUND)
find_package(${tpl} REQUIRED QUIET NO_DEFAULT_PATH PATHS ${dir})
endif()
endforeach()
if(NOT TARGET chai)
if (@USE_EXTERNAL_CHAI@)
set(SPHERAL_CHAI_DIR "@chai_DIR@/lib/cmake/chai")
else()
set(SPHERAL_CHAI_DIR "${SPHERAL_CXX_INSTALL_PREFIX}/lib/cmake/chai")
endif()
find_package(chai REQUIRED QUIET NO_DEFAULT_PATH PATHS ${SPHERAL_CHAI_DIR})
endif()
if(SPHERALC_STANDALONE)
set(CMAKE_C_COMPILER "@CMAKE_C_COMPILER@" CACHE PATH "Spheral C compiler path")
set(CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@" CACHE PATH "Spheral C++ compiler path")
Expand Down
3 changes: 0 additions & 3 deletions cmake/tpl/hdf5.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
set(${lib_name}_libs libhdf5.so libhdf5_hl.so)

if(ENABLE_STATIC_TPL)
string(REPLACE ".so" ".a;" ${lib_name}_libs ${${lib_name}_libs})
endif()
5 changes: 2 additions & 3 deletions cmake/tpl/leos.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
set(leos_libs libleos_C.a libleos.a liblip-cpp.a libyaml-cpp.a libleospact.a)
# If we ever support debug TPL builds we'll need the following since the name of the libarary changes
# if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(leos_libs libleos.a liblip-cpp.a libyaml-cpp.a)
# if(CMAKE_BUILD_TYPE STREQUAL "Debug")
# list(APPEND leos_libs libyaml-cppd.a)
# else()
# list(APPEND leos_libs libyaml-cpp.a)
Expand Down
1 change: 0 additions & 1 deletion extern/chai
Submodule chai deleted from 9bb128
13 changes: 13 additions & 0 deletions scripts/spack/packages/camp/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)


from spack.package import *
from spack.pkg.builtin.camp import Camp as BuiltinCamp


class Camp(BuiltinCamp):

version("2025.03.0", tag="v2025.03.0", submodules=False)
15 changes: 15 additions & 0 deletions scripts/spack/packages/chai/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)


from spack.package import *
from spack.pkg.builtin.chai import Chai as BuiltinChai


class Chai(BuiltinChai):

version("develop", commit="b7babdc0c333baa68e53b026c63d65c48c8d8eb1", submodules=False)
depends_on("raja@2025.03.0", type="build", when="+raja")
depends_on("umpire@2025.03.1", type="build")
Loading