Releases: LLNL/axom
Releases · LLNL/axom
Axom-v0.3.3
[Version 0.3.3] - Release date 2020-01-31
Please download the Axom-v0.3.3.tar.gz tarball below, which includes all of the Axom submodules as well.
Added
- Define different execution spaces. This refines and consolidates
the execution policy concepts from mint and spin, which are now defined in
Axom core, such that they can be used by other components. - Added a generic axom::for_all(), which can be used to write simple parallel
loops. - Added CLI11 command line parser as a built-in third party library.
Changed
- Updated Conduit to v0.5.1
- Updated RAJA to v0.11.0
- Updated Umpire to v2.1.0, which, natively handles zero byte re-allocations consistently. Workaround
for older releases of Umpire is in place for backwards compatibility. - Updated BLT to develop (f0ab9a4) as of Jan 15, 2020
- Set CUDA_SEPARABLE_COMPILATION globally instead of just in a few components.
- Reduced verbosity of quest's InOutOctree in cases where query point lies on surface.
- Changed semantics of
axom::reallocate(_, 0)
to always return a valid pointer.
This matches the semantics of Umpire'sreallocate(_, 0)
.
Note: Umpire's PR-292 fixed a bug in its handling of this case and Axom
includes a workaround to get the new behavior until we upgrade to Umpire v2.0+.
Fixed
- Fixed a bug in
convert_sidre_protocol
example. Data truncation functionality now
works properly when multiple Views point to the same data.
Axom-v0.3.2
[Version 0.3.2] - Release date 2019-09-22
Please download the Axom-v0.3.2.tar.gz tarball below, which includes all of the Axom submodules as well
Added
- Added support in Mint for reading and writing an unstructured mesh in the [SU2 Mesh file format].
This includes support for both single and mixed cell type topology unstructured mesh types. - Added a new option to enable/disable use of CUB, AXOM_USE_CUB, which is disabled by default. This
allows to disable CUB to circumvent issues encountered with the device linker. - Added a BezierCurve primitive type to primal. A new
intersect
operator was also added to
compute the intersection points between a pair of Bezier curves of arbitrary order.
Changed
- Updated Raja TPL to v0.9.0
- Updated Umpire TPL to v1.0.0
- AXOM_USE_OPENMP is now being set at configure time accordingly instead of
auto-detected based on whether "_OPENMP" is passed by the compiler. This
fixes issues where a host code would compile Axom w/out OpenMP, but, use
Axom in parts of the code where OpenMP is enabled.
Fixed
- Fixed usage of Umpire's MemoryResourceType enum in Axom. Axom was assuming that
there was a one-to-one correspondance of the entries in the MemoryResourceType enum
and the IDs of the predefined allocators. However, this assumption generally does
not hold. This version corrects this by explicitly querying the ID of the predefined
allocator for a particular resource and using that subsequently in the code.
Axom-v0.3.1
[Version 0.3.1] - Release date 2019-07-22
Please download the Axom-v0.3.1.tar.gz tarball below, which includes all of the Axom submodules as well.
Added
- Added a new implementation of the Bounding Volume Hierarchy(BVH) spatial
acceleration data-structure to spin. The new BVH implementation relies on RAJA
and allows for constructing and using the BVH sequentially or in parallel on
the CPU or in parallel on the GPU. The new implementation is available only
when Axom is compiled with RAJA and Umpire support. - Added Umpire and RAJA to the spack build.
- Centralized Axom's memory management functions in a separate header and extended them
to use Umpire when enabled. - Added the ability to point Axom to an UMPIRE build by specifying UMPIRE_DIR either in
a host-config or at the command line. Axom components can link to Umpire, by specifying
"umpire" as a dependency. A simple umpire smoke test is also added for regression testing. - Added for_all_faces to the mint execution model.
- Added support for face connectivity in the mint UnstructuredMesh class.
- Added support for face data and face connectivity in the mint StructuredMesh classes.
- Added Python module for Quest signed distance interface.
See the file src/axom/quest/interface/python/README.md for more information. - Added capability in sidre IOManager to read files while running on a number
of MPI ranks greater than the number of ranks that were used to create
the files. - Users can now set the vertex welding threshold parameter in Quest's In/Out query.
This was previously not exposed to the user. The default value is 1E-9. - Unify all Axom component libraries into one library named axom.
- The routine that checks if a surface mesh is watertight now marks boundary
cells. A cell-centered field, named "boundary", is used to mark boundary cells
with a value of "1" and "0" otherwise. This facilitates in visually inspecting the
surface mesh and identify the problematic regions for the In/Out and SignedDistance
queries.
Removed
- Moved mint::Array to axom::Array with sidre storage in sidre::Array;
also moved mint::IndexType to axom::IndexType. - Replaced sidre::SidreLength with sidre::IndexType.
- Replaced usage of std::size_t in sidre with sidre::IndexType.
- Added AXOM_ENABLE_EXPORTS which enables CMAKE_ENABLE_EXPORTS to allow demangled
axom function names in stack traces. This option is ON by default in debug builds.
Changed
- Updated conduit TPL to v0.4.0
- Updated mfem TPL to v4.0
- Slam's Set and Relation classes are now parameterized by a PositionType and ElementType.
Its Map classes are now parametrized by a SetType. - Updated the fmt tpl.
- Replaced old quest C-style interface with a new quest inout API.
Functions related to the inout point containment query are prefixed with "inout_".
The new API has an option to set the verbosity of the inout initialization and query. - Changed sidre::IndexType to be a 64bit signed integer.
- Changed slic::stack_trace to slic::internal::stack_trace which now attempts to
output a demangled stack trace.
Fixed
- Axom can once again be configured with
AXOM_ENABLE_EXAMPLES=ON
andAXOM_ENABLE_TESTS=OFF
. - Quest's vertex welding now works with small welding threshold values (e.g. 1E-20).
Welding was previously broken when this value was smaller than 1E-8.
This fix also resolved an issue with small grid spacing values in primal's RectangularLattice.