Axom-v0.10.0
Please download the Axom-v0.10.0.tar.gz tarball below, which includes all of the Axom submodules.
Added
- Added SLIC constructors that take in a
std::string
for the stream. If string is interpreted as a file name, the file is not opened until SLIC flushes and the stream has at least one message logged. - Primal: Adds a
clip()
operator overload for clipping a 2D polygon against another 2D polygon. - Primal: Adds
Polygon::reverseOrientation()
to reverse orientation of a polygon in-place. - Adds
StaticArray
, a wrapper forStackArray
with a size member variable. - Multidimenional
core::Array
supports column-major and arbitrary stride ordering, in addition to the default row-major ordering. - Adds new
PolygonArray
andMAX_VERTS
template parameters toprimal::Polygon
for dynamic or static allocation. - Adds support for the optional
caliper
andadiak
dependencies to axom. These dependencies are added through axom'sspack
package via the new+profiling
variant, and are enabled in axom's build system via theCALIPER_DIR
andADIAK_DIR
configuration paths. - Adds new annotation macros to axom:
AXOM_ANNOTATE_{BEGIN,END,SCOPE,METADATA}
. These replace the previous annotation macrosAXOM_PERF_MARK_{FUNCTION,SECTION}
. - Adds a RAII-based
MPIWrapper
utility class to axom's core component. This can help setup/teardown MPI in axom's examples. It can also be used in configurations with MPI. - Primal: Adds a
closest_point
operator for finding the closest point on aSegment
- Primal: Adds a
reflectPoint
method to thePlane
primitive - Primal: Makes several primitive methods available in device code
- Improves support for
axom::Array
allocated in unified and pinned memory on GPU platforms. Use of GPU-based operations for Arrays allocated in a unified memory space is controlled with a new method,Array::setDevicePreference()
. - Adds
svg2contours
script to convert paths in an SVG file to an MFEM NURBS mesh. - Quest: Adds an example to query winding numbers on an MFEM NURBS mesh.
Changed
- Updates to [Conduit version 0.9.2][https://github.com/LLNL/conduit/releases/tag/v0.9.2]
- Updates to [RAJA version 2024.07.0][https://github.com/LLNL/RAJA/releases/tag/v2024.07.0]
- Updates to [camp version 2024.07.0][https://github.com/LLNL/camp/releases/tag/v2024.07.0]
- Updates to [Umpire version 2024.07.0][https://github.com/LLNL/Umpire/releases/tag/v2024.07.0]
axom::CLI::ExitCodes::Success
has been changed toaxom::CLI::ExitCodes::CLI11_Success
to avoid conflict when X11#define
sSuccess
.MarchingCubes
masking now uses the mask field's integer values instead of converting them to booleans. The new behavior lets you select a value to mask for. If you want to continue the boolean behavior, use only 0 or 1 in your mask field.- Primal:
Polyhedron::centroid()
function changed to return center of mass of the polyhedron.Polyhedron::vertexMean()
added to return average of polyhedron's vertices.Polyhedron::moments()
returns the volume and centroid of the polyhedron, the 0th and 1st moments respectively. quest::ArrayIndexer
is nowaxom::MDMapping
, adopting conventional terminology and moving out ofquest
.mint::structured_exec
is nowaxom::nested_for_exec
, to support nested for loops for all of Axom. Seesrc/axom/core/execution/nested_for_exec.hpp
.- Set default Umpire allocator id to device instead of unified for CUDA and HIP execution policies.
- Upgrades
vcpkg
usage for axom's automated Windows builds to its 2024.03.19 release. Also updates vcpkg port versions for axom dependencies. Temporarily removesumpire
from axom's default dependencies on Windows due to incompatibility between umpire's externalfmt
and axom's vendored copy. - Turn off CMake finding dependencies on system paths.
axom::Array
: trivially-copyable types with a non-trivial constructor are now initialized on the GPU.- SLIC no longer outputs the rank count in the
RANK
format string in parallel loggers. You can access the rank count via new format optionRANK_COUNT
.
Removed
- Removes config option
AXOM_ENABLE_ANNOTATIONS
. Annotations are now provided bycaliper
(andadiak
for metadata) and are available when axom is configured withCALIPER_DIR
andADIAK_DIR
config variables. - Removes caching of
{PACKAGE}_FOUND
variables inSetupAxomThirdParty.cmake
- We no longer test Axom with the XL compiler. So users should consider XL unsupported.
Fixed
numerics::eigen_solve()
has been corrected to avoid an early return with error state.