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
1 change: 1 addition & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ The Axom project release numbers follow [Semantic Versioning](http://semver.org/
internal `quest::internal::read_*_mesh()`/`logger_init()` helpers are now declared only when Axom is
configured with MPI. Serial code that passed the placeholder `MPI_COMM_SELF` explicitly should drop the argument.
- We can now configure Axom without MPI when some of its dependencies were configured with MPI.
- Python: Raised the minimum supported versions for Python bindings to Python 3.9 and nanobind 2.10.
- Quest: Status-returning reader/writer operations in `C2CReader`, `MFEMReader`, `ProEReader`,
`STEPReader`, `STLReader`, `STLWriter`, and their parallel variants are now marked `[[nodiscard]]`.
Callers that previously ignored returned status values must check them to avoid compiler diagnostics.
Expand Down
168 changes: 0 additions & 168 deletions scripts/spack/configs/linux_ubuntu_20/spack.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions scripts/spack/packages/axom/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,12 +299,12 @@ class Axom(CachedCMakePackage, CudaPackage, ROCmPackage):

# Python
with when("+python"):
depends_on("python")
depends_on("python@3.9:")

# extending python allows spack environment views to import axom from python
extends("python")

depends_on("py-nanobind@2.7.0:")
depends_on("py-nanobind@2.10.0:")
depends_on("py-pytest")
depends_on("py-packaging")
depends_on("py-pygments")
Expand Down
7 changes: 2 additions & 5 deletions src/axom/sidre/nanobind_sidre.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -674,8 +674,7 @@ NB_MODULE(_sidre, m_sidre)
m_sidre.attr("AXOM_ENABLE_MPI") = false;
#endif

#if defined(AXOM_USE_MPI) && \
((NB_VERSION_MAJOR > 2) || (NB_VERSION_MAJOR == 2 && NB_VERSION_MINOR >= 10))
#if defined(AXOM_USE_MPI)
m_sidre.attr("AXOM_HAS_DISTRIBUTED_BLUEPRINT_INDEX_BINDING") = true;
#else
m_sidre.attr("AXOM_HAS_DISTRIBUTED_BLUEPRINT_INDEX_BINDING") = false;
Expand Down Expand Up @@ -833,9 +832,7 @@ NB_MODULE(_sidre, m_sidre)
nb::keep_alive<0, 1>(),
"Return an iterator over Attributes")

#if defined(AXOM_USE_MPI) && \
((NB_VERSION_MAJOR > 2) || (NB_VERSION_MAJOR == 2 && NB_VERSION_MINOR >= 10))
// Distributed Blueprint index generation builds cleanly under nanobind >= 2.10
Comment on lines -836 to -838

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

#if defined(AXOM_USE_MPI)
.def(
"generateBlueprintIndex",
[](DataStore& self,
Expand Down
3 changes: 1 addition & 2 deletions src/axom/sidre/tests/sidre_spio_Py.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,7 @@ def test_iomanager_split_communicator(tmp_path):


def test_distributed_generate_blueprint_index(tmp_path):
# The distributed generateBlueprintIndex overload is built only under
# nanobind >= 2.10; skip cleanly if this build omitted it.
# The distributed generateBlueprintIndex overload is built only with MPI.
if not sidre.AXOM_HAS_DISTRIBUTED_BLUEPRINT_INDEX_BINDING:
pytest.skip("generateBlueprintIndex not bound")

Expand Down
4 changes: 2 additions & 2 deletions src/cmake/thirdparty/SetupAxomThirdParty.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ if(EXISTS ${Python_EXECUTABLE})
set(DEV_MODULE Development.Module)
endif()

find_package(Python 3.8 COMPONENTS Interpreter ${DEV_MODULE} REQUIRED)
find_package(Python 3.9 COMPONENTS Interpreter ${DEV_MODULE} REQUIRED)

# Debug print the paths to the found Python artifacts
message(STATUS "Python version: ${Python_VERSION}")
Expand Down Expand Up @@ -441,7 +441,7 @@ if(nanobind_ROOT
AND NOT AXOM_ENABLE_UBSAN)

axom_assert_is_directory(DIR_VARIABLE nanobind_ROOT)
find_package(nanobind CONFIG REQUIRED)
find_package(nanobind 2.10 CONFIG REQUIRED)
message(STATUS "Nanobind support is ON")
set(NANOBIND_FOUND TRUE)
else()
Expand Down
2 changes: 1 addition & 1 deletion src/docs/sphinx/quickstart_guide/config_build.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Basic requirements:
a minimum version of 3.18 when building with CUDA support,
and a minimum version of 3.21 when building with HIP support
* Fortran Compiler (optional)
* Python 3.8 at a minimum for python bindings (optional)
* Python 3.9 at a minimum for python bindings (optional)

Supported Compilers
~~~~~~~~~~~~~~~~~~~
Expand Down