Skip to content

Releases: CODARcode/libpressio

libpressio version 0.46.3

06 Oct 15:30
Compare
Choose a tag to compare

libpressio version 0.46.3

Bug Fixes

  • MGARD apparently just switched their versioning scheme. Provide
    default version number of 0 when they don't define all version number
    parts.

libpressio version 0.46.2

06 Oct 15:30
Compare
Choose a tag to compare

libpressio version 0.46.2

Bug Fix

  • Use a more intelligent way of finding MGARD headers that fails less
    often.

libpressio version 0.46.1

06 Oct 15:30
Compare
Choose a tag to compare

libpressio version 0.46.1

Bug Fixes

  • Fix several build failures on GCC-4.8 and add CI to ensure they don't
    return.

libpressio version 0.46.0

28 Sep 14:06
Compare
Choose a tag to compare

libpressio version 0.46.0

Major Changes

  • Potentially breaking change - libpressio now searches any parent
    option, not just the global namespace when searching for an option.
  • Performance improvements to pressio_options by reducing allocating
    conversions to std::string to only where strictly required through use
    of std::string_view, perfect forwarding, and transparent comparisons.

Minor Changes:

  • Added test case for Python bindings that uses io added in 0.45.0.

libpressio version 0.45.0

28 Sep 14:06
Compare
Choose a tag to compare

libpressio version 0.45.0

Major Changes

  • Experimental support for LibPressio IO modules from the python binding

Minor Changes

  • Added the QOI norm as a metric reported from MGARD
  • Updated README with more up to date spack instructions

libpressio version 0.44.0

28 Sep 14:06
Compare
Choose a tag to compare

libpressio version 0.44.0

Major Changes

  • Completely updated version of the MGARD plugin that support quality of
    interest mode using libpressio metrics plugins. NOTE not all metrics
    supported by libpressio are valid to use with MGARD QOI mode, only ones that
    are "linear" such PSNR.
  • Added std::string_view to stdcompat this will be used in a future release to
    improve performance by reducing copies

Minor Changes

  • Updated the writing a compressor docs to use {get,set}_meta

Bug Fixes

  • Fixed a bug where a void pointer was incorrectly defererenced in
    pressio_option::get

libpressio version 0.42.2

28 Sep 14:06
Compare
Choose a tag to compare

libpressio version 0.42.2

Bug Fixes

  • external:runtime was not not being included as was expected.

libpressio version 0.42.1

28 Sep 14:06
Compare
Choose a tag to compare

libpressio version 0.42.1

Bug Fixes:

  • SZ supports using older versions again by protecting newer features
    with conditional compilation
  • Documentation bug fix for ZFP

libpressio version 0.42.0

21 Aug 02:03
Compare
Choose a tag to compare

libpressio version 0.42.0

Major Changes

  • All compressors now expose their metric via ${prefix}:metrics. This
    is to enable better handling for compressor hierarchies. Setting a
    metric this way, or with the old compressor_set_metrics function will
    set this option.
  • New helper function set_meta_many and get_meta_many for configuring
    meta objects when there are multiple children.
  • New helper class subgroup manager for mapping which buffers should be
    passeed to recursive calls of compress_many vs decompress_many. Older
    code was refactored to use this.
  • New metrics module noop which computes no metrics is now the default
    for compressors instead of nullptr. This fixes some issues related to
    using get_meta/set_meta with metrics
  • Breaking Change: the spatial_error module is no longer built by
    default. This was to fix a problem where some compilers would issue
    an error when they encounter an unknown pragma (#pragma omp parallel
    for) without OpenMP enabled. This can be restored via
    -DLIBPRESSIO_HAS_OPENMP=YES

Minor Changes

  • many_dependent now exposes to_names and from_names to configure
    variables to pass from one timestep to the next.
  • vastly improved error handling in many_dependent and many_independent

Bug Fixes

  • distributed_manager now retains how many masters and how many workers
    it has after a call to set_options. This resolves a bug where
    distributed groups would un-intentionally revert after being set.
  • many_independent now passes the correct args to distributed_managers
    constructor
  • the posix IO module now handles files larger than 2147479522 bytes the
    most bytes that Linux will transfer in one call to read or write.
  • composite metrics now sets names and prefixes correctly and has better
    error handling when they are not.
  • external metric now correctly parses the supported version 4 and 5 of
    the input/output specification.
  • external metric now reports stderr even if the process fails
  • external metric now reports an error and no longer hangs if no command
    is set.
  • many bug fixes to how distributed_build_groups computed group sizes
    that were improper
  • Fixed linking to SZ to properly be private in test code
  • Added test cases for IO to better handle some failure cases
  • Updated some test cases which incorrectly depended return an exact
    set of metrics rather than a subset.

libpressio 0.41.0

21 Aug 02:03
Compare
Choose a tag to compare

libpressio 0.41.0

Major Changes

  • Added APIs for to support multiple buffers to io, compressors, and
    metrics! This is to support more efficient parallel semantics. For
    now, assume that all inputs must be the same on all MPI ranks; but
    this may be relaxed in the future. These methods end in _many

  • Added an C api to convert pressio_options to a human readable string.

  • pressio_data_for_each gained a mutable version

  • Configurable objects now have a set_meta and get_meta to better
    work with meta compressors and make them easier to write.

  • Optionally depend upon LibDistributed to provide many_independent and
    many_dependent meta-compressors that operate on multiple buffers in
    parallel using LibDistributed.

  • New helper class pressio_distributed_manager to help classes interface
    with LibDistributed

  • LibPressio types now implement the LibDistributed serialize-able
    interface for the MPI backend

  • time and size now provide _many callbacks

  • new io module: empty which creates a zero-initialized io module

  • new metrics: kl_divergence, printer which logs what actions were
    performed, ks_test which computes the kolomov-smirnov test, and
    kth_error which computes the kth_error statistic

  • initial support for FTK consider this metric module unstable

  • Update docker file to Fedora 32

Minor Changes

  • stdcompat is now refactored into multiple headers to include less when
    not needed
  • stdcompat now supports byte, data, size, nth_element, span, void_t, negation, minus and clamp
  • pressio_registries now support contains and find methods
  • Additional const attributes added to parameters of factory functions where possible
  • Updated existing methods to use pressio_data::to_vector, get_meta and set_meta where
    possible.
  • libpressio now builds as a UNITY build for faster compiles when
    directed. This is not the default because it harms debug-ability and
    tooling with current versions of libtooling.
  • improved documentation

Bug Fixes

  • fix segfault in MGARD test
  • fix segfault in pressio_option_new_strings
  • size no longer segfaults when passed a nullptr for output
  • errno header added where it was required for some standard libraries
  • Only clone the metric pointer when it is set when constructing compressors
  • pressio_io_clone now has a correctly spelled return type