Skip to content

Releases: LLNL/axom

Axom-v0.3.3

01 Feb 23:29
f0539ef
Compare
Choose a tag to compare

[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's reallocate(_, 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

24 Sep 00:42
c446b49
Compare
Choose a tag to compare

[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

07 Aug 21:08
cbefc04
Compare
Choose a tag to compare

[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 and AXOM_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.