8000 Tags · CODARcode/libpressio · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: CODARcode/libpressio

Tags

0.60.0

Toggle 0.60.0's commit message
libpressio version 0.60.0

Major Changes

+ ABI break: the pressio_io_read and related experimental functions no
  longer delete or steal the input, but more correctly move the input as
  documented.  Previously these functions deleted the input value, but
 
8000
 this made it very difficult to safely wrap these functions on platforms
  that are garbage collected.
+ BREAKING: the `libpressio` higher-level python binding had several changes to
  how it handled configurations:
  1. bytes objects are now created as pressio_data objects this is to be
    more conistent across the interface and fix some faulty conversions
    in SZ-ExaFEL that should have worked
  2. mpi4py MPI Communicator objects can now be passed if built with
    mpi4py support
  3. Several changes to how type-inference works in the python bindings.
     For most users, these will just be improvements, and enable a
     correct implementation of numcodecs.Codec interface
    + if a template object is NOT passed, we no longer set entires with
      a `None` value.  This prevents segfaults
    + if a template object is passed, we now only pass the new options
      rather than all of the objects from the template.
    + if a template object is passed, we call pressio_options.set_type
      if a `None` value is passed with the type from the template.
  4. Several default arguments were added to make things default
    construable.
  5. `name` parameters are now only passed if they are truthy
  6. get_configurations was renamed get_compile_config() to be more
    consistently and understandably named
  7. get_config() now returns a dict which can be directly passed to
    `from_configuration` and things should just work
  8. Similar changes were made to PressioIO
+ A pretty substantial rewrite to how external_forkexec reads from its
  child process to use `select` to be more efficient and avoid deadlocks in
  poorly behaved (segfaulting) child processes.

Minor Changes

+ pressio_data::dimensions now returns a const reference
+ better debugging output in the external metric test cases

Bug Fixes

+ fixed a case where the constructor to pressio_data would segfault if
  passed a nullptr
+ fixed a number of segfaults when using distributed_manager (i.e.
  many_indepenent/many_dependent/etc...) when building with C++11 caused
  by constructing with an empty initializer list instead of compat::nullopt
+ fixed a number of compilation failures in the JSON bindings that
  incorrectly were implemented in C++17.
+ pinned the version of gtest to avoid build failures in anticipation of
  them adding an abseil dependency.

0.59.0

Toggle 0.59.0's commit message
libpressio version 0.59.0

Major Changes

+ Integrated SZAuto https://github.com/szcompressor/szauto.  Thanks to
  Hengzhi Chen and Kai Zhao for contributing it!

0.58.0

Toggle 0.58.0's commit message
libpressio version 0.58.0

Major Changes

+ Bug fixes requiring an ABI break/new functions
  + defined missing methods for options for {u,}int{8,16,64}_t in the
    C public header
  + pressio_options_set_strings is now more const correct
  + fixed include file for pressio_options_json.h when used for C++ so
    that names are extern "C"

0.57.0

Toggle 0.57.0's commit message
libpressio version 0.57.0

Major Changes:

+ BREAKING CHANGE - removed the ftk plugin in favor of using it from the
  external metrics plugin.  This change reduces complexity and code
  duplication between this library and the ftk command line application
  this also prevents the frequent internals changes in FTK from breaking
  libpressio's build. closes #12
+ libpressio now has JSON support with the following features:
  + pressio_options structures can be serialized to and from JSON.  NOTE
    when serializing options that use  pressio_option_userptr_type are
    omitted because by definition they cannot be serialized.
  + external metrics can now read a JSON based format when using the
    `external:api=json:1` version.  This allows returning complex
    datatypes from metrics.
  + an experimental hdf5_filter which provides another way to use
    compressors supported with libpressio. The JSON support is used in
    serializing options where relevant.

Minor Changes:

+ Moved the python bindings to `tools/swig`
+ Added the ability to not produce man page links and install docs when
  documentation is built
+ renamed the imagemagick check to be imagemagick_longlong to more clear
  about what it was testing for.

Bug Fixes:

+ Added missing headers to CMakeLists to improve clangd and clion
  autocompetion.
+ Fixed all current documentation warnings and compiler warnings

0.56.2

Toggle 0.56.2's commit message
libpressio version 0.56.2

Minor improvement:

+ libpressio higher level python bindings have support for getting
  compile time configuration for io plugins

0.56.1

Toggle 0.56.1's commit message
libpressio version 0.56.1

Bug Fix

+ LibPressio now compiles again with non-parallel HDF5

0.56.0

Toggle 0.56.0's commit message
libpressio version 0.56.0

Breaking Change

+ metrics now provide a default implementation of
  {begin,end}_{de,}compress_many which defaults to calling
  {begin,end}_{de,}compress.  This eases some of the implementation of
  metrics that support being called from `_many` contexts
+ the default implementation of compress_many now calls compress_impl
  instead of compress.

0.55.3

Toggle 0.55.3's commit message
libpressio version 0.55.3

Minor Improvment

Support for newer SZ ExaFEL

0.55.2

Toggle 0.55.2's commit message
libpressio version 0.55.2

Bug Fix

+ higher level python bindings now accept numpy ndarrays as arguments

0.55.1

Toggle 0.55.1's commit message
libpressio version 0.55.1

Minor Changes

+ external metrics module can now disable writing inputs and outputs
+ noop compressor plugin now looks at the size and type of the output.
  this makes it work better with the python bindings.
0