Skip to content

Releases: robertu94/libpressio

libpressio version 0.70.0

15 Jul 14:06
Compare
Choose a tag to compare

libpressio version 0.70.0

Major Changes

  • allow the use of SZ's openmp mode from LibPressio.

libpressio version 0.69.0

15 Jul 14:06
Compare
Choose a tag to compare

libpressio version 0.69.0

Major Changes

  • Includes changes to sz threadsafe plugin and sz plugin, including
    refactoring common code and fixing code issues.
    • Previously sz_threadsafe did not initialize itself to default
      parameters. Now both sz and sz_threadsafe must grab a sz_init_handle
      which is responsible to call SZ_Init and finalize. Additionally,
      if the plugin wants to write to confparams_cpr, it must grab an
      exclusive lock to indicate it is configuring sz. If a plugin wants to
      read from confparams_cpr, it must grab a shared lock.
    • change threadsafe_params from a sz_params* to sz_params to make
      storage local to the class. This keeps sz_params from pointing off
      into uninitialized memory
    • translate libpressio datatypes into SZ datatypes this prevents floats
      from being interpreted as doubles in compression and decompression
      which caused segfaults
    • pass the length of the data to decompress rather than the number of
      dimensions to prevent an unaligned read
    • remove a comment that contains dead code
    • remove references to WRITE_STATS since this code doesn't work with
      sz_threadsafe
    • sz_common.cc was created to extract common code from the sz and
      the sz_threadsafe plugins, as well as its header file sz_header.h
    • iless.cc was created to extract common code from sz and the
      sz_threadsafe plugins that could be used outside of sz purposes,
      as well as its header file iless.h
    • sz_threadsafe_plugin.cc was edited in order to ensure that it
      would be threadsafe since its previous version was not fully.

libpressio version 0.68.0

15 Jul 14:06
Compare
Choose a tag to compare

libpressio version 0.68.0

Major Changes

  • introduced switch meta compressor to dynamically switch between
    compressors at runtime

Minor Changes

  • consolidated logic for setting names for multiple plugins

libpressio version 0.67.0

15 Jul 14:06
Compare
Choose a tag to compare

libpressio version 0.67.0

Major Changes

  • introduced log_transform meta compressor to enable point-wise error
    bounds from absolute error bound compressors
  • introduced delta_coding to increase compression in some cases
  • introduced linear_quantizer to increase compression in some cases

libpressio verison 0.66.3

15 Jul 14:06
Compare
Choose a tag to compare

libpressio verison 0.66.3

Bug Fixes:

  • fixed several cases where JSON parsing errors could cause an uncaught
    exception in C

libpressio version 0.66.2

15 Jul 14:06
Compare
Choose a tag to compare

libpressio version 0.66.2

Bug Fixes

  • resolve some missing and additional includes that caused build
    failures with libc++ and MacOS.

libpressio version 0.66.1

15 Jul 14:06
Compare
Choose a tag to compare

libpressio version 0.66.1

Major Changes

  • libpressio_metrics_plugin::get_metrics_results is now non-const to
    support errors
  • many_independent_threaded now exposes the nthreads variable to be
    configured
  • zfp_plugin now supports execution_name to make it easier to set the
    execution mode
  • composite metrics now gives a better error message when using lua
    scripting

Bug Fixes

  • Chunking now grabs the correct input block when compressing rather
    than the same one over and over again
  • Chunking now passes along the name to the compiler

libpressio version 0.66.0

15 Jul 14:06
Compare
Choose a tag to compare

libpressio version 0.66.0

Major Changes/Bug Fixs

  • size metrics module now return uint64_t instead of int32_t.
  • composite_metrics now forwards documentation requests
  • standardized on bytes for memory metrics

libpressio version 0.65.0

24 May 12:51
Compare
Choose a tag to compare

libpressio version 0.65.0

Major Changes

  • BREAKING CHANGE: Metrics modules are now errorable and can report their errors to the
    compressors that invoke them. This allows for metrics that can fail
    like the external metric to report better errors.
  • BREAKING CHANGE: Metrics are now hierarchal. This allows for new kinds of metrics
    modules that aggregate results from lower levels of the metrics
    hierarchy.
  • pressio_new_metric was added as the single metric version of
    pressio_new_metrics since the previous behavior is too depended upon
    to undo.
  • new mmap io module to use virtual memory to load files
  • new rusage metrics module to track memory usage for compressors
  • new documentation generator for compressor modules
  • new chunking meta compressor which breaks a dataset into chunks for
    compression
  • new historian meta metrics module for tracking metrics over multiple
    invocations
  • Module documentation is generated automatically from source
  • new many_independent_threaded compressor which compresses multiple
    buffers in parallel
  • new C api pressio_{compressor,metrics,io}_get_documentation which returns
    documentation for the respective module as a pressio_options structure and
    supporting routines in pressio_configurable. Docs were added to all
    existing compressors
  • new C api pressio_compressor_get_prefix to get the prefix for a
    compressor
  • new test cases to ensure that compressors remain documented
  • removed old and slower compressor tests

Minor Changes

  • {de,}compress_many c++ api now accepts any valid constructor arguments to
    std::span rather than just a pair of pointers
  • centralized and corrected code that prints an error string from errno
    in C
  • set_error(0, "") -> clear_error for more efficient clearing of errors.
  • printer for pressio_options_key_status and pressio_thread_safety

Bug Fixes

  • improved error handling in distributed_manager
  • various corrections to plugins to support hierarchal usage.
  • removed deprecated viewer formats in PETSc
  • switched from push_back to emplace_back where it improved performance
  • Added some additional casts to make clang-tidy happy

libpressio version 0.64.0

24 May 12:51
Compare
Choose a tag to compare

libpressio version 0.64.0

Major Changes

  • New data IO plugin "iota" which provides a data buffer containing an
    increasing sequence as a buffer. This is useful for testing
  • New metrics module "mask" which computes metrics after removing
    metrics that match a provided mask
  • New PressioMetrics class in the high level bindings

Minor Changes

  • composite_metrics now sets names automatically for child-plugins if
    names is entry, and set_name is called on composite_metrics

Bug Fixes

  • the static assert for pressio_dtype allows conversions from
    char/unsigned char when this is legal in C++
  • Several bug fixes in the libpressio high level python bindings