libpressio 0.93.0
Loading...
Searching...
No Matches
Compressors Modules

binning

version: 0.0.1

stability: experimental

thread_safety: multiple

preforms a binning operation on the input data on compression and extrapolates on decompression

Options

binning:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: noop

binning:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

binning:nthreads

type: uint32

default: <uint32> = 1

description: number of cpu threads to use for binning

binning:shape

type: data

default: <data> = data{ type=int32_t dims={4, } has_data=[2, 2, 1, 1, ]}

description: shape of the bins to apply

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • binning:compressor
  • binning:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

bit_grooming

version: 2.1.9.0

stability: stable

thread_safety: multiple

Various bitgroomimg methods for floating point data which improve compressibility

Options

bit_grooming:error_control_mode

type: int32

default: <int32> = 0

options: dsd, nsd

description: the error_control_mode code, prefer error_control_mode_str instead for user facing use

bit_grooming:error_control_mode_str

type: char*

unset by default

description: the type of error control to use

  • nsd – the number of significant digits
  • dsd – the number of significant decimal digits

bit_grooming:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

bit_grooming:mode

type: int32

default: <int32> = 0

options: bitgroom, bitset, bitshave

description: the big grooming mode code, prefer mode_str instead for user facing use

bit_grooming:mode_str

type: char*

unset by default

description: the type of bit grooming to use

bit_grooming:n_sig_decimals

type: int32

default: <int32> = 5

description: number of significant decimals

bit_grooming:n_sig_digits

type: int32

default: <int32> = 5

description: number of significant digits

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "2.1.9.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 2

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 1

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 9

description: the patch version number

other configuration entries:

  • bit_grooming:error_control_mode
  • bit_grooming:metric
  • bit_grooming:mode
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

blosc

version: 1.21.2

stability: stable

thread_safety: multiple

BLOSC is a collection of lossless compressors optimized to transfer data more quickly than a direct memory fetch can preform. More information on BLOSC can be found on its project homepage

Options

blosc:blocksize

type: uint32

default: <uint32> = 0

description: what blocksize should blosc use?

blosc:clevel

type: int32

default: <int32> = 0

description: compression level

blosc:compressor

type: char*

default: <char*> = "blosclz"

options: blosclz, lz4, lz4hc, snappy, zlib, zstd

description: what lossless compressors should blosc use

blosc:doshuffle

type: int32

default: <int32> = 0

description: should blosc shuffle bits to try to improve compressability

blosc:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

blosc:numinternalthreads

type: int32

default: <int32> = 1

description: number of threads to use internally

pressio:lossless

type: int32

default: <int32> = 0

description: use lossless compression, the smaller the number the more biased towards speed, the larger the number the more biased towards compression

at this time (may change in the future), individual lossless compressors may internet values less than 1 or greater than 9 differently

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

Configuration

pressio:version

type: char*

value: <char*> = "1.21.2"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 1

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 21

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 2

description: the patch version number

other configuration entries:

  • blosc:compressor
  • blosc:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

bzip2

version: 1.0.8, 13-Jul-2019

stability: experimental

thread_safety: multiple

the bzip2 lossless compressor https://sourceware.org/bzip2/

Options

bzip2:block_size_100k

type: int32

default: <int32> = 9

description: between 1 and 9, what size block to consider at a time

bzip2:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

bzip2:small

type: int32

default: <int32> = 0

description: use a alternative decompression algorithm that uses less memory

bzip2:verbosity

type: int32

default: <int32> = 0

description: use verbose logging to stdout if >0

bzip2:work_factor

type: int32

default: <int32> = 30

description: between 0 and 250. How aggressively to try and compress data

pressio:lossless

type: int32

default: <int32> = 9

description: use lossless compression, the smaller the number the more biased towards speed, the larger the number the more biased towards compression

at this time (may change in the future), individual lossless compressors may internet values less than 1 or greater than 9 differently

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "1.0.8, 13-Jul-2019"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 1

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 8

description: the patch version number

other configuration entries:

  • bzip2:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

chunking

version: 0.1.0

stability: experimental

thread_safety: single

Chunks a larger dataset into smaller datasets for parallel compression

Options

chunking:chunk_nthreads

type: uint64

default: <uint64> = 1

description: number of threads to use to chunk the data

chunking:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to use after chunking

chunking:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

chunking:size

type: data

default: <data> = data{ type=uint64_t dims={0, } has_data=false}

description: size of the chunks to use

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

Configuration

pressio:version

type: char*

value: <char*> = "0.1.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 1

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • chunking:compressor
  • chunking:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

cusz

version: 0.0.1

stability: experimental

thread_safety: multiple

A GPU based implementation of SZ for Nvidia GPUs

Options

cusz:bound

type: double

default: <double> = 1e-05

description: bound of the error bound

cusz:codec_presumed_density

type: float

default: <float> = 0

description: assumed density of the code, affects speed

cusz:codec_type

type: char*

default: <char*> = "huffman"

options: huffman, runlength, nvcompcascade, nvcomplz4, nvcompsnappy

description: what compression codec is used

cusz:codec_variable_length

type: bool

default: <bool> = false

description: use variable length encoding to improve rate for speed

cusz:cusz_len_factor

type: float

default: <float> = 1.03

description: length factor controls how much memory is over-allocated

cusz:huffman_booklen

type: int32

default: <int32> = 0

description: huffman encoding book length

cusz:huffman_coarse_pardeg

type: int32

default: <int32> = 0

description: huffman encoding coarse par degree

cusz:huffman_codec_booktype

type: char*

default: <char*> = "tree"

options: tree, canonical

description: what type of book is used

cusz:huffman_coding

type: char*

default: <char*> = "coarse"

options: coarse, fine

description: what type of coding to use

cusz:huffman_execution_type

type: char*

default: <char*> = "device"

options: host, device, none

description: where to execute huffman encoding

cusz:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

cusz:mode_str

type: char*

default: <char*> = "abs"

options: abs, r2r

description: error bound mode

cusz:pipeline_type

type: char*

default: <char*> = "auto"

options: auto, dense, sparse

description: pipeline type

cusz:predictor_anchor

type: bool

default: <bool> = false

description: is prediction anchored?

cusz:predictor_nondestructive

type: bool

default: <bool> = false

description: is the predictor non-destructuive; effects memory use

cusz:predictor_type

type: char*

default: <char*> = "lorenzoi"

options: lorenzo0, lorenzo1, lorenzoi, lorenzo2, lorenzoii, spline3

description: what predictor type to use

cusz:quantization_delayed

type: bool

default: <bool> = false

description: is quantization_delayed effects speed

cusz:quantization_radius

type: int32

default: <int32> = 512

description: the quantization_radius effects quality

pressio:abs

type: double

default: <double> = 1e-05

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:rel

type: double

unset by default

description: a pointwise value-range relative error bound

compressors may provide this value without supporting rel=0. compressors that support rel=0, additionally should also define pressio:lossless

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 3

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • cusz:codec_type
  • cusz:huffman_codec_booktype
  • cusz:huffman_coding
  • cusz:huffman_execution_type
  • cusz:metric
  • cusz:mode_str
  • cusz:pipeline_type
  • cusz:predictor_type
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

delta_encoding

version: 0.0.0

stability: experimental

thread_safety: single

delta_encoding

applies delta encoding to prior to compression and reverses it post decompression.

y[0] = x[0]; y[i] = x[i] - x[i-1];

Options

delta_encoding:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to apply after encoding

delta_encoding:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • delta_encoding:compressor
  • delta_encoding:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

digit_rounding

version: 2.1.9.0

stability: stable

thread_safety: multiple

Various methods for digit rounding which improve compression

Options

digit_rounding:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

digit_rounding:prec

type: int32

default: <int32> = 1970235507

description: The prec parameter of digit rounding (a number between 0 and 64)

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "2.1.9.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 2

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 1

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 9

description: the patch version number

other configuration entries:

  • digit_rounding:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

fault_injector

version: 0.0.0

stability:

thread_safety: multiple

injects single bit errors of specified distribution

Options

fault_injector:compressor

type: char*

default: <char*> = "noop"

description: name of the compressor to inject errors after compression

fault_injector:injection_mode

type: uint32

default: <uint32> = 1

description: the method of performing injections

fault_injector:injection_mode_str

type: char*

unset by default

options: set, unset, flip

description: human interpretable mode

fault_injector:injections

type: uint32

default: <uint32> = 1

description: the number of injections to make

fault_injector:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

fault_injector:seed

type: uint32

unset by default

description: random number seed

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • fault_injector:injection_mode_str
  • fault_injector:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:thread_safe

fpzip

version: 1.3.0

stability: stable

thread_safety: multiple

The FPZip lossless floating point compressor. See also Lindstrom, Peter G, and USDOE National Nuclear Security Administration. FPZIP. Computer software. Version 1.2.0. June 10, 2017. https://www.osti.gov//servlets/purl/1579935. doi:https://doi.org/10.11578/dc.20191219.2.

Options

fpzip:has_header

type: int32

default: <int32> = 0

description: output a header on compression

fpzip:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

fpzip:prec

type: int32

default: <int32> = 0

description: the precision to use

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

fpzip:codec_version

type: uint32

value: <uint32> = 69633

description: the FPZip Codec version

fpzip:data_model

type: uint32

value: <uint32> = 30579

description: the FPZip data model

fpzip:library_version

type: uint32

value: <uint32> = 304

description: the FPZip library_version

pressio:version

type: char*

value: <char*> = "1.3.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 1

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 3

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • fpzip:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

frsz

version: 0.0.2

stability: experimental

thread_safety: single

a fixed rate version of the SZ Algorithm

Options

frsz:epsilon

type: double

default: <double> = 0.0001

description: "absolute error bound" applied during quantization; because frsz does not store unpredictable values, this is not a true absolute error bound

frsz:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.2"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 2

description: the patch version number

other configuration entries:

  • frsz:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

lambda_fn

version: 0.0.1

stability: experimental

thread_safety: multiple

a meta compressor that reconfigures the child compressor dynamically at runtime

Options

lambda_fn:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to configure dynamically

lambda_fn:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

lambda_fn:on_compress

type: int32

default: <int32> = 1

description: nonzero if the script should be called just before the child compressor is invoked, takes effect as soon as it is set

lambda_fn:on_set_options

type: int32

default: <int32> = 0

description: nonzero if the script should be called at the end of set_options, takes effect as soon as it is set

lambda_fn:script

type: char*

default: <char*> = ""

description: The actual script to use just before the child compressor in invoked written in lua.

When the script begins several global variables are defined

  • persist – state persisted between calls to script
  • inputs – the list of inputs provided to the compress or decompress function
  • outputs – the list of outputs provided to the compress or decompress function
  • set_options – the list of options provided to the set_options function
  • options – the list of options to apply to the child compressor
  • name – a string containing the name of this lambda_fn
  • is_compress – true if compression is the next operation
  • is_decompress – true if decompression is the next operation
  • is_set_options – true if set_options is the next operation

The lua base and math libraries are exposed by default, this may change in the future to allow the user to specify which libraries are allowed

A number of libpressio enums with all of their values are exposed to lua

pressio_dtype pressio_option_type pressio_options_key_status

Additionally a number of libpressio types are exposed to lua with a subset of their api

pressio_data

  • new() – constructs an empty pressio_data object
  • new(dtype, dims, data) – constructs a pressio_data object with lua tables dims and data
  • dimensions() – return a vector of the dimensions
  • dtype() – return the dtype type of the data object
  • to_vector() – convert the data object to a 1d vector that can be manipulated

pressio_option

  • new() – construct an empty option
  • type() – get the current type
  • get_int8() – get the value as an int8
  • get_int16() – get the value as an int16
  • get_int32() – get the value as an int32
  • get_int64() – get the value as an int64
  • get_uint8() – get the value as an uint8
  • get_uint16() – get the value as an uint16
  • get_uint32() – get the value as an uint32
  • get_uint64() – get the value as an uint64
  • get_float() – get the value as an float
  • get_double() – get the value as an double
  • get_string() – get the value as a string
  • get_string_arr() – get the value as a string array
  • get_data() – get the value as a pressio_data object
  • set_int8() – set the value as an int8
  • set_int16() – set the value as an int16
  • set_int32() – set the value as an int32
  • set_int64() – set the value as an int64
  • set_uint8() – set the value as an uint8
  • set_uint16() – set the value as an uint16
  • set_uint32() – set the value as an uint32
  • set_uint64() – set the value as an uint64
  • set_float() – set the value as an float
  • set_double() – set the value as an double
  • set_string() – set the value as a string
  • set_string_arr() – set the value as a string array
  • set_data() – set the value as a pressio_data object

pressio_options

example 1:

-- use compressor 0 for floats and compressor 1 for integers
local is_floating = false;
local dtype = pressio_dtype.int8;
if is_compress then
dtype = inputs[1]:dtype();
else
dtype = outputs[1]:dtype();
end
if dtype == pressio_dtype.float or dtype == pressio_dtype.double then
local option = pressio_option:new()
option:set_uint64(0)
options:set("switch:active_id", option)
else
local option = pressio_option:new()
option:set_uint64(1)
options:set("switch:active_id", option)
end

example 2:

-- chunk the data by last two dimensions, assumes at least 2d data
if is_compress then
local dims = inputs[1]:dimensions();
local dims_size = #dims;
local chunk_sizes = {};
for i=1,dims_size do
chunk_sizes[i] = 1;
end
chunk_sizes[dims_size-1] = dims[dims_size-1]
chunk_sizes[dims_size] = dims[dims_size]
local chunk_data = pressio_data.new(pressio_dtype.uint64, {dims_size}, chunk_sizes)
local chunk_size_op = pressio_option:new();
chunk_size_op:set_data(chunk_data);
options:set("chunking:size", chunk_size_op)
end

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • lambda_fn:compressor
  • lambda_fn:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

linear_quantizer

version: 0.0.0

stability: experimental

thread_safety: single

linear_quantizer

applies linear_quantizer encoding to prior to compression and reverses it post decompression.

y[i] = (x[i])/step

Options

linear_quantizer:auto_step

type: int64

default: <int64> = 0

description: the number of steps to assume while automatically determine the step size. 0 means use manual step size

linear_quantizer:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to apply after encoding

linear_quantizer:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

linear_quantizer:step

type: double

default: <double> = 0

description: the size of step to use while quantizing

pressio:abs

type: double

default: <double> = 0

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • linear_quantizer:compressor
  • linear_quantizer:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

log_transform

version: 0.0.0

stability: experimental

thread_safety: single

log_transform

applies a log transform to prior to compression and experimental transform post decompression.

y[0] = log(x[0]);

Options

log_transform:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to apply after encoding

log_transform:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • log_transform:compressor
  • log_transform:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

magick

version: ImageMagick 6.9.12-70 Q16 x86_64 17597 https://legacy.imagemagick.org

stability: unstable

thread_safety: multiple

ImageMagick is a robust library that preforms a wide array of image compression and manipulation. Only a fraction of its api is exposed. More information on ImageMagick can be found on its project homepage

Options

magick:compressed_magick

type: char*

default: <char*> = "JPEG"

description: the ImageMagick magick format

magick:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

magick:quality

type: uint32

default: <uint32> = 100

description: the quality parameter for lossy images

magick:samples_magick

type: char*

default: <char*> = "G"

description: the string for the samples format

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "ImageMagick 6.9.12-70 Q16 x86_64 17597 https://legacy.imagemagick.org"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 1692

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • magick:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

manifest

version: 0.0.1

stability: experimental

thread_safety: single

compressor plugin that records meta data from compression to enable reconstruction

Options

manifest:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to use to decompress

manifest:lineage

type: char*

default: <char*> = ""

description: header for the last compression operation

manifest:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

manifest:record_lineage_on_decompress

type: bool

default: <bool> = false

description: update manifest:lineage when decompress is called

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • manifest:compressor
  • manifest:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

many_dependent

version: 0.0.1

stability: experimental

thread_safety: multiple

Uses MPI to compress multiple buffers in parallel using results of previously successful compressions to guide future compressions

Options

distributed:mpi_comm

type: void*

default: <void*> = true

description: which MPI communicator to use

distributed:n_worker_groups

type: uint32

default: <uint32> = 0

description: How many groups of workers are there?

distributed:root

type: uint32

default: <uint32> = 0

description: which rank should be considered the root?

many_dependent:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: the name of the compressor to pipeline over using MPI

many_dependent:from_names

type: char*[]

default: <char*[]> = {}

description: list of metrics to pull the next set of configurations from

many_dependent:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

many_dependent:to_names

type: char*[]

default: <char*[]> = {}

description: list of options to set on each launch

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

subgroups:input_data_groups

type: data

default: <data> = data{ type=int32_t dims={0, } has_data=false}

description: which inputs get mapped to which sub compression operations

subgroups:output_data_groups

type: data

default: <data> = data{ type=int32_t dims={0, } has_data=false}

description: which outputs get mapped to which sub compression operations

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • many_dependent:compressor
  • many_dependent:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

many_independent

version: 0.0.1

stability: experimental

thread_safety: multiple

Uses MPI to compress multiple buffers in parallel

Options

distributed:mpi_comm

type: void*

default: <void*> = true

description: which MPI communicator to use

distributed:n_worker_groups

type: uint32

default: <uint32> = 0

description: How many groups of workers are there?

distributed:root

type: uint32

default: <uint32> = 0

description: which rank should be considered the root?

many_independent:bcast_outputs

type: int32

default: <int32> = 1

description: true if all ranks have the same outputs otherwise just the root has the outputs

many_independent:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to parallelize using MPI

many_independent:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

subgroups:input_data_groups

type: data

default: <data> = data{ type=int32_t dims={0, } has_data=false}

description: which inputs get mapped to which sub compression operations

subgroups:output_data_groups

type: data

default: <data> = data{ type=int32_t dims={0, } has_data=false}

description: which outputs get mapped to which sub compression operations

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • many_independent:compressor
  • many_independent:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

many_independent_threaded

version: 0.0.1

stability: experimental

thread_safety: multiple

Uses OpenMP to compress multiple buffers in parallel

On each invocation a key called "many_independent_threaded:idx" with a type of uint64_t is set with the index of the compressor

Options

many_independent_threaded:collect_metrics_on_compression

type: int32

default: <int32> = 0

description: collect metrics after compression

many_independent_threaded:collect_metrics_on_decompression

type: int32

default: <int32> = 0

description: collect metrics after decompression

many_independent_threaded:compressor

type: char*

unset by default

description: the child compressor to use; if many_independent_threaded:compressors is set, this value is ignored

many_independent_threaded:compressors

type: char*[]

default: <char*[]> = {noop, }

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: the child compressor(s) to use

many_independent_threaded:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

many_independent_threaded:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use for compression

many_independent_threaded:preserve_metrics

type: int32

default: <int32> = 0

description: preserve metrics after compression, and restore them before decompression

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

subgroups:input_data_groups

type: data

default: <data> = data{ type=int32_t dims={0, } has_data=false}

description: which inputs get mapped to which sub compression operations

subgroups:output_data_groups

type: data

default: <data> = data{ type=int32_t dims={0, } has_data=false}

description: which outputs get mapped to which sub compression operations

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • many_independent_threaded:compressors
  • many_independent_threaded:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

mask_binning

version: 0.0.1

stability: experimental

thread_safety: multiple

preforms a mask_binning operation on the input data on compression and extrapolates on decompression

Options

mask_binning:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: noop

mask_binning:mask

type: data

default: <data> = data{ type=bool dims={} has_data=false}

description: boolean mask to apply, true means ignore

mask_binning:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

mask_binning:nthreads

type: uint32

default: <uint32> = 1

description: number of cpu threads to use for mask_binning

mask_binning:shape

type: data

default: <data> = data{ type=int32_t dims={4, } has_data=[2, 2, 1, 1, ]}

description: shape of the bins to apply

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • mask_binning:compressor
  • mask_binning:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

mask_interpolation

version: 0.0.1

stability: experimental

thread_safety: single

apply interpolation to replace masked values

Options

mask_interpolation:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to use after masking

mask_interpolation:fill

type: double

default: <double> = 0

description: for values that cannot be interpolated, what value to fill with

mask_interpolation:mask

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: mask of values to replace true means replace

mask_interpolation:mask_mode

type: char*

default: <char*> = "fill"

options: fill, interp

description: type of interpolation to use for masked values

mask_interpolation:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

mask_interpolation:nthreads

type: uint32

default: <uint32> = 1

description: number of execution threads

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • mask_interpolation:compressor
  • mask_interpolation:mask_mode
  • mask_interpolation:metric
  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

ndzip

version: 0.0.1

stability: experimental

thread_safety: multiple

A High-Throughput Parallel Lossless Compressor for Scientific Data

only supports 1 type of compression, different values of pressio:lossless are indistinguishable

Options

ndzip:executor

type: char*

default: <char*> = "cpu"

options: cpu, cpu-mt, cuda

description: which executor to use

ndzip:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:lossless

type: int32

default: <int32> = 0

description: use lossless compression, the smaller the number the more biased towards speed, the larger the number the more biased towards compression

at this time (may change in the future), individual lossless compressors may internet values less than 1 or greater than 9 differently

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

ndzip:has_cuda

type: int32

value: <int32> = 1

description: compiled with Cuda support

ndzip:has_mt_cpu

type: int32

value: <int32> = 1

description: compiled with OpenMP support

ndzip:has_sycl

type: int32

value: <int32> = 0

description: compiled with Sycl support

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • ndzip:executor
  • ndzip:metric
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

noop

version: noop 0.0.0.0

stability: stable

thread_safety: multiple

A no-op compressor useful for testing and defaults

Options

noop:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "noop 0.0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • noop:metric
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

nvcomp

version: 2.4.1

stability: experimental

thread_safety: multiple

nvcomp

libpressio bindings for the NVIDIA nvcomp GPU compressors

Options

nvcomp:alg

type: int32

default: <int32> = 0

description: which algorithm to use

nvcomp:alg_str

type: char*

unset by default

description: which algorithm to use as a string

nvcomp:chunk_size

type: int32

default: <int32> = 65536

description: chunk size: default 4096, valid values are 512 to 16384

nvcomp:device

type: int32

default: <int32> = 0

description: nvidia device to execute on

nvcomp:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

nvcomp:num_deltas

type: int32

default: <int32> = 1

description: number of delta encodings to preform

nvcomp:num_rles

type: int32

default: <int32> = 2

description: number of run length encoding to preform

nvcomp:nvcomp_alg

type: int32

default: <int32> = 0

description: for nvcomp algorithms that support it, which variant to use

nvcomp:use_bp

type: int32

default: <int32> = 1

description: preform bit comp as the last step

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "2.4.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 2

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 4

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • nvcomp:metric
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

opt

version: 0.13.5

stability:

thread_safety: single

Uses optimization to automatically configure compressors

Options

opt:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: the compressor to optimize over

opt:do_decompress

type: int32

default: <int32> = 1

description: preform decompression while tuning

opt:inputs

type: char*[]

default: <char*[]> = {}

description: list of input settings

opt:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

opt:objective_mode_name

type: char*

unset by default

description: the name for the optimization method

opt:output

type: char*[]

default: <char*[]> = {}

description: list of output settings

opt:search

type: char*

default: <char*> = "guess"

options: binary, dist_gridsearch, fraz, guess, guess_first, guess_midpoint, nrt, random_search, sdr

description: search method to use

opt:search_metrics

type: char*

default: <char*> = "progress_printer"

options: composite_search, noop, progress_printer, record_search

description: search metrics to collect

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.13.5"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 13

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 5

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • opt:compressor
  • opt:metric
  • opt:search
  • opt:search_metrics
  • pressio:metric
  • pressio:thread_safe

pressio

version: 0.0.1

stability: experimental

thread_safety: single

a set of helpers to convert between common error bounds

Options

pressio:bound_name

type: char*

unset by default

description: passthrough the bound that is provided

pressio:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: the underlying compressor to use

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:reset_mode

type: bool

unset by default

description: reset mode back to none

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:compressor
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe

pw_rel

version: 0.0.1

stability: experimental

thread_safety: single

abstraction for adapting an absolute error bound to a pw_rel error bound

Adapted for LibPressio by Robert Underwood Algorithm by X. Liang, S. Di, D. Tao, Z. Chen, and F. Cappello, “An Efficient Transformation Scheme for Lossy Data Compression with Point-Wise Relative Error Bound,” in 2018 IEEE International Conference on Cluster Computing (CLUSTER), Sep. 2018, pp. 179–189. doi: 10.1109/CLUSTER.2018.00036.

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:pw_rel

type: double

default: <double> = 0.001

description: point wise relative error bound mode

pw_rel:abs_comp

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor that supports an absolute error bound

pw_rel:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pw_rel:sign_comp

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor that compresses signs

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • pw_rel:abs_comp
  • pw_rel:metric
  • pw_rel:sign_comp

qoz

version: 0.1.0.0

stability: experimental

thread_safety: multiple

QoZ is the evolution of SZ3 a modular compression framework

Options

pressio:abs

type: double

default: <double> = 1e-06

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:rel

type: double

unset by default

description: a pointwise value-range relative error bound

compressors may provide this value without supporting rel=0. compressors that support rel=0, additionally should also define pressio:lossless

qoz:abs_error_bound

type: double

default: <double> = 1e-06

description: absolute error bound

qoz:algorithm

type: uint8

default: <uint8> = 1

description: compression algorithm

qoz:algorithm_str

type: char*

unset by default

options: ALGO_INTERP, ALGO_INTERP_BLOCKED, ALGO_INTERP_LORENZO, ALGO_LORENZO_REG

description: compression algorithm

qoz:encoder

type: uint8

default: <uint8> = 1

description: which encoder to use, 0 skip encoder, 1 huffman, 2 arithmatic

qoz:error_bound_mode

type: uint8

default: <uint8> = 0

description: error bound mode to apply

qoz:error_bound_mode_str

type: char*

unset by default

options: ABS, ABS_AND_REL, ABS_OR_REL, NORM, PSNR, REL

description: error bound

qoz:interp_algo

type: uint8

default: <uint8> = 1

description: which intrepolation algorithm to use

qoz:interp_block_size

type: int32

default: <int32> = 32

description: what block size to use for interpolation to use

qoz:interp_direction

type: uint8

default: <uint8> = 0

description: which interpolation direction to use

qoz:intrep_algo_str

type: char*

unset by default

options: INTERP_ALGO_CUBIC, INTERP_ALGO_LINEAR

description: interpolation algorithm mode

qoz:l2_norm_error_bound

type: double

default: <double> = 1.47197e-319

description: l2 norm error bound

qoz:lorenzo

type: bool

default: <bool> = true

description: use the lorenzo predictor

qoz:lorenzo2

type: bool

default: <bool> = false

description: use the 2-level lorenzo predictor

qoz:lossless

type: uint8

default: <uint8> = 1

description: lossless compression method to apply; 1 bypass lossless, 1 zstd

qoz:maxstep

type: uint64

default: <uint64> = 0

description: set the maximum step size

qoz:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

qoz:openmp

type: bool

default: <bool> = false

description: use openmp parallelization

qoz:pred_dim

type: int32

default: <int32> = 0

description: prediction dimension

qoz:psnr_error_bound

type: double

default: <double> = 8.87707e+252

description: psnr error bound

qoz:quant_bin_size

type: int32

default: <int32> = 65536

description: number of quantization bins

qoz:regression

type: bool

default: <bool> = true

description: use the regression predictor

qoz:regression2

type: bool

default: <bool> = false

description: use the 2nd order regression predictor

qoz:rel_error_bound

type: double

default: <double> = -1

description: value range relative error bound

qoz:stride

type: int32

default: <int32> = 6

description: stride between items

qoz:test_lorenzo

type: int32

default: <int32> = 0

description: test lorenzo predictor and use it when it is better

qoz:turning_target

type: uint8

default: <uint8> = 0

description: the tuning target for quality

qoz:turning_target_str

type: char*

unset by default

description: the tuning target as a string

qoz:use_qoz

type: bool

default: <bool> = true

description: enable extra quality preserving features

Configuration

pressio:version

type: char*

value: <char*> = "0.1.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 1

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • qoz:algorithm_str
  • qoz:error_bound_mode_str
  • qoz:intrep_algo_str
  • qoz:metric

random_error_injector

version: 0.0.0

stability:

thread_safety: multiple

injects errors according to the specified distribution

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

random_error_injector:compressor

type: char*

default: <char*> = "noop"

description: compressor to use after applying errors

random_error_injector:dist_args

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: the distribution arguments

random_error_injector:dist_name

type: char*

default: <char*> = "uniform_real_distribution"

description: name of the error distribution to use

random_error_injector:gen_name

type: char*

default: <char*> = "mt19937_64"

description: name of the random number generator to use

random_error_injector:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

random_error_injector:seed

type: uint32

unset by default

description: random seed to use

Configuration

pressio:version

type: char*

value: <char*> = "0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

random_error_injector:generators

type: char*[]

value: <char*[]> = {knuth_b, minstd_rand, mt19937_64, ranlux48_base, }

description: available distribution generators

random_error_injector:int_distributions

type: char*[]

value: <char*[]> = {binomial_distribution, geometric_distribution, negative_binomial_distribution, poisson_distribution, uniform_int_distribution, }

description: available distributions for integer numbers

random_error_injector:real_distributions

type: char*[]

value: <char*[]> = {cauchy_distribution, chi_squared_distribution, extreme_value_distribution, fisher_f_distribution, gamma_distribution, lognormal_distribution, normal_distribution, student_t_distribution, uniform_real_distribution, weibull_distribution, }

description: available distributions for real numbers

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:thread_safe
  • random_error_injector:metric

repeat

version: 0.0.1

stability: experimental

thread_safety: single

call a compressor multiple times i.e. to get an average timing

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

repeat:clone_output

type: bool

default: <bool> = false

description: clone output or re-use existing output

repeat:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to call repeatedly

repeat:count

type: uint32

default: <uint32> = 1

description: how many repeats to do

repeat:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • repeat:compressor
  • repeat:metric

resize

version: 0.0.1

stability: stable

thread_safety: multiple

A meta-compressor which applies a re-size operation prior to compression

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

resize:compressed_dims

type: data

default: <data> = data{ type=uint64_t dims={0, } has_data=false}

description: how to reshape the dimensions pre compression

resize:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: compressor to use after resizing

resize:decompressed_dims

type: data

default: <data> = data{ type=uint64_t dims={0, } has_data=false}

description: how to reshape the dimensions post decompression

resize:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • resize:compressor
  • resize:metric

roibin

version: 0.0.1

stability: experimental

thread_safety: multiple

ROIBIN metacompressor

This module treats compression as two tasks: region of interest saving + background saving Each is then forwarded on to a separate compressor for additional compression.

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

roibin:background

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: background compression

roibin:centers

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: centers of the region of interest

roibin:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

roibin:nthreads

type: uint32

default: <uint32> = 1

description: number of threads for region of interest

roibin:roi

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: region of interest compression

roibin:roi_size

type: data

default: <data> = data{ type=int32_t dims={4, } has_data=[5, 5, 0, 0, ]}

description: region of interest size

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • roibin:background
  • roibin:metric
  • roibin:roi

sample

version: 0.0.1

stability: unstable

thread_safety: multiple

A "compressor" which samples the data by row

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sample:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sample:mode

type: char*

default: <char*> = ""

options: wr, wor, decimate

description: what kind of sampling to apply

  • wr – with replacement
  • wor – without replacement
  • decimate – sample every kth entry

sample:rate

type: double

default: <double> = 0

description: the sampling rate to use

sample:seed

type: int32

default: <int32> = 0

description: the seed to use

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • sample:metric
  • sample:mode

sperr

version: 640305d

stability: experimental

thread_safety: multiple

the sperr lossless compressor https://github.com/shaomeng/SPERR

Options

pressio:abs

type: double

default: <double> = 1e-06

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sperr:chunks

type: data

default: <data> = data{ type=uint64_t dims={3, } has_data=[256, 256, 256, ]}

description: how to chunk the data during compression – for best performance use a large multiple of the input size

sperr:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sperr:mode

type: int32

default: <int32> = 3

description: mode name

sperr:mode_str

type: char*

unset by default

options: bpp, psnr, pwe

description: mode name

sperr:nthreads

type: uint64

default: <uint64> = 1

description: number of threads to use

sperr:tolerance

type: double

default: <double> = 1e-06

description: value for the error bound mode

Configuration

pressio:version

type: char*

value: <char*> = "640305d"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 2

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • sperr:metric
  • sperr:mode_str

switch

version: 0.0.0

stability: experimental

thread_safety: single

switch_compressor

Allows switching between different compressors at runtime

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

switch:active_id

type: uint64

default: <uint64> = 0

description: the compressor to actually use

switch:clear_invocations

type: int32

unset by default

description: write-only clear the invocation count metric

switch:compressors

type: char*[]

default: <char*[]> = {}

description: compressor ids to configure

switch:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

switch:names

type: char*[]

default: <char*[]> = {}

description: allows naming sub-compressors

Configuration

pressio:version

type: char*

value: <char*> = "0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • switch:metric

sz

version: 2.1.12.4

stability: stable

thread_safety: serialized

SZ is an error bounded lossy compressor that uses prediction based methods to compress data. This version of SZ is not threadsafe. Please refer to sz_threadsafe if a threadsafe version of SZ is desired. More information can be found about SZ on its project homepage.

Options

pressio:abs

type: double

unset by default

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:lossless

type: int32

unset by default

description: use lossless compression, the smaller the number the more biased towards speed, the larger the number the more biased towards compression

at this time (may change in the future), individual lossless compressors may internet values less than 1 or greater than 9 differently

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:pw_rel

type: double

unset by default

description: a pointwise relative error bound

compressors may provide this value without supporting pw_rel=0. compressors that support pw_rel=0, additionally should also define pressio:lossless

pressio:rel

type: double

unset by default

description: a pointwise value-range relative error bound

compressors may provide this value without supporting rel=0. compressors that support rel=0, additionally should also define pressio:lossless

sz:abs_err_bound

type: double

default: <double> = 0.0001

description: the absolute error bound

sz:accelerate_pw_rel_compression

type: int32

default: <int32> = 1

description: trade compression ratio for a faster pw_rel compression

sz:app

type: char*

default: <char*> = "SZ"

description: access a application specific mode of SZ

sz:config_file

type: char*

unset by default

description: filepath passed to SZ_Init()

sz:config_struct

type: void*

unset by default

description: structure passed to SZ_Init_Params()

sz:data_type

type: double

unset by default

description: an internal option to control compression

sz:error_bound_mode

type: int32

default: <int32> = 4

description: integer code used to determine error bound mode

sz:error_bound_mode_str

type: char*

unset by default

options: abs, abs_and_pw_rel, abs_and_rel, abs_or_pw_rel, abs_or_rel, norm, psnr, pw_rel, rel, rel_and_pw_rel, rel_or_pw_rel, vr_rel

description: human readable string to set the error bound mode

sz:exafel:bin_size

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ, the size of the binning applied

sz:exafel:calib_panel

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the size of the calibration panel

sz:exafel:num_peaks

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ the number of peaks

sz:exafel:peak_size

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ the size of the peaks

sz:exafel:peaks_cols

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the list of columns peaks appear in

sz:exafel:peaks_rows

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the list of rows peaks appear in

sz:exafel:peaks_segs

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the segments peaks appear in

sz:exafel:sz_dim

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ the SZ dimensionality prefered 1: nEvents * panels * pr->binnedRows * pr->binnedCols 2: nEvents * panels * pr->binnedRows, pr->binnedCols 3: nEvents * panels, pr->binnedRows, pr->binnedCols 4: nEvents , pr->binnedRows * panels, pr->binnedCols

sz:exafel:tolerance

type: double

default: <double> = 0

description: for ROIBIN-SZ the tolerance used after binning

sz:gzip_mode

type: int32

default: <int32> = 3

description: Which mode to pass to GZIP when used

sz:lossless_compressor

type: int32

default: <int32> = 1

description: Which lossless compressor to use for stage 4

sz:max_quant_intervals

type: uint32

default: <uint32> = 65536

description: the maximum number of quantization intervals

sz:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sz:pred_threshold

type: float

default: <float> = 0.99

description: an internal option used to control compression

sz:prediction_mode

type: int32

unset by default

description: an internal option used to control compression

sz:protect_value_range

type: int32

default: <int32> = 0

description: should the value range be preserved during compression

sz:psnr_err_bound

type: double

default: <double> = 90

description: the bound on the error in the PSNR

sz:pw_rel_err_bound

type: double

default: <double> = 0.001

description: the bound on the pointwise relative error

sz:quantization_intervals

type: uint32

default: <uint32> = 0

description: the number of quantization intervals to use, 0 means automatic

sz:rel_err_bound

type: double

default: <double> = 0.0001

description: the value range relative error bound mode

sz:sample_distance

type: int32

default: <int32> = 100

description: internal option used to control compression

sz:segment_size

type: int32

default: <int32> = 36

description: internal option used to control compression. number of points in each segement for pw_relBoundRatio

sz:snapshot_cmpr_step

type: int32

default: <int32> = 5

description: the frequency of preforming single snapshot based compression in time based compression

sz:sol_id

type: int32

default: <int32> = 101

description: an internal option use d to control compression

sz:sz_mode

type: int32

default: <int32> = 1

description: SZ Mode either SZ_BEST_COMPRESSION or SZ_BEST_SPEED

sz:user_params

type: void*

default: <void*> = false

description: arguments passed to the application specific mode of SZ. Use in conjunction with sz:app

Configuration

pressio:version

type: char*

value: <char*> = "2.1.12.4"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 2

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 1

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 12

description: the patch version number

sz:pastri

type: uint32

value: <uint32> = 1

description: true if PASTRI mode was built

sz:random_access_enabled

type: uint32

value: <uint32> = 0

description: true if SZ was compiled in random access mode

sz:timecmpr

type: uint32

value: <uint32> = 0

description: true if SZ if SZ is compiled in time based compression mode

sz:write_stats

type: uint32

value: <uint32> = 1

description: true if SZ is compiled with compression statistics support

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • sz:error_bound_mode_str
  • sz:metric

sz3

version: 3.1.7

stability: experimental

thread_safety: multiple

SZ3 is a modular compressor framework

Options

pressio:abs

type: double

default: <double> = 1e-06

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

pressio:rel

type: double

unset by default

description: a pointwise value-range relative error bound

compressors may provide this value without supporting rel=0. compressors that support rel=0, additionally should also define pressio:lossless

sz3:abs_error_bound

type: double

default: <double> = 1e-06

description: absolute error bound

sz3:algorithm

type: uint8

default: <uint8> = 1

description: compression algorithm

sz3:algorithm_str

type: char*

unset by default

options: ALGO_INTERP, ALGO_INTERP_LORENZO, ALGO_LORENZO_REG

description: compression algorithm

sz3:encoder

type: uint8

default: <uint8> = 1

description: which encoder to use, 0 skip encoder, 1 huffman, 2 arithmatic

sz3:error_bound_mode

type: uint8

default: <uint8> = 0

description: error bound mode to apply

sz3:error_bound_mode_str

type: char*

unset by default

options: ABS, ABS_AND_REL, ABS_OR_REL, NORM, PSNR, REL

description: error bound

sz3:interp_algo

type: uint8

default: <uint8> = 1

description: which intrepolation algorithm to use

sz3:interp_block_size

type: int32

default: <int32> = 32

description: what block size to use for interpolation to use

sz3:interp_direction

type: uint8

default: <uint8> = 0

description: which interpolation direction to use

sz3:intrep_algo_str

type: char*

unset by default

options: INTERP_ALGO_CUBIC, INTERP_ALGO_LINEAR

description: interpolation algorithm mode

sz3:l2_norm_error_bound

type: double

default: <double> = 8.11481e+88

description: l2 norm error bound

sz3:lorenzo

type: bool

default: <bool> = true

description: use the lorenzo predictor

sz3:lorenzo2

type: bool

default: <bool> = false

description: use the 2-level lorenzo predictor

sz3:lossless

type: uint8

default: <uint8> = 1

description: lossless compression method to apply; 1 bypass lossless, 1 zstd

sz3:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sz3:openmp

type: bool

default: <bool> = false

description: use openmp parallelization

sz3:pred_dim

type: int32

default: <int32> = 0

description: prediction dimension

sz3:psnr_error_bound

type: double

default: <double> = 9.05138e-90

description: psnr error bound

sz3:quant_bin_size

type: int32

default: <int32> = 65536

description: number of quantization bins

sz3:regression

type: bool

default: <bool> = true

description: use the regression predictor

sz3:regression2

type: bool

default: <bool> = false

description: use the 2nd order regression predictor

sz3:rel_error_bound

type: double

default: <double> = 6.20636e+223

description: value range relative error bound

sz3:stride

type: int32

default: <int32> = 6

description: stride between items

Configuration

pressio:version

type: char*

value: <char*> = "3.1.7"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 3

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 1

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 7

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • sz3:algorithm_str
  • sz3:error_bound_mode_str
  • sz3:intrep_algo_str
  • sz3:metric

sz_omp

version: 0.0.0

stability: experimental

thread_safety: serialized

SZ is an error bounded lossy compressor that uses prediction based methods to compress data. This is SZ's native multi-threaded compression support

Options

pressio:abs

type: double

unset by default

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use

sz_omp:abs_err_bound

type: double

default: <double> = 0.0001

description: the absolute error bound

sz_omp:config_file

type: char*

unset by default

description: filepath passed to SZ_Init()

sz_omp:config_struct

type: void*

unset by default

description: structure passed to SZ_Init_Params()

sz_omp:data_type

type: double

unset by default

description: an internal option to control compression

sz_omp:error_bound_mode

type: int32

default: <int32> = 4

description: integer code used to determine error bound mode

sz_omp:error_bound_mode_str

type: char*

unset by default

options: abs

description: human readable string to set the error bound mode

sz_omp:gzip_mode

type: int32

default: <int32> = 3

description: Which mode to pass to GZIP when used

sz_omp:lossless_compressor

type: int32

default: <int32> = 1

description: Which lossless compressor to use for stage 4

sz_omp:max_quant_intervals

type: uint32

default: <uint32> = 65536

description: the maximum number of quantization intervals

sz_omp:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sz_omp:nthreads

type: uint32

default: <uint32> = 1

description: number of threads to use for parallel compression and decompression

sz_omp:pred_threshold

type: float

default: <float> = 0.99

description: an internal option used to control compression

sz_omp:prediction_mode

type: int32

unset by default

description: an internal option used to control compression

sz_omp:protect_value_range

type: int32

default: <int32> = 0

description: should the value range be preserved during compression

sz_omp:quantization_intervals

type: uint32

default: <uint32> = 0

description: the number of quantization intervals to use, 0 means automatic

sz_omp:sample_distance

type: int32

default: <int32> = 100

description: internal option used to control compression

sz_omp:segment_size

type: int32

default: <int32> = 36

description: internal option used to control compression. number of points in each segement for pw_relBoundRatio

sz_omp:snapshot_cmpr_step

type: int32

default: <int32> = 5

description: the frequency of preforming single snapshot based compression in time based compression

sz_omp:sol_id

type: int32

default: <int32> = 101

description: an internal option use d to control compression

sz_omp:sz_mode

type: int32

default: <int32> = 1

description: SZ Mode either SZ_BEST_COMPRESSION or SZ_BEST_SPEED

Configuration

pressio:version

type: char*

value: <char*> = "0.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

sz_omp:pastri

type: uint32

value: <uint32> = 1

description: true if PASTRI mode was built

sz_omp:random_access_enabled

type: uint32

value: <uint32> = 0

description: true if SZ was compiled in random access mode

sz_omp:timecmpr

type: uint32

value: <uint32> = 0

description: true if SZ if SZ is compiled in time based compression mode

sz_omp:write_stats

type: uint32

value: <uint32> = 1

description: true if SZ is compiled with compression statistics support

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • sz_omp:error_bound_mode_str
  • sz_omp:metric

sz_threadsafe

version: 2.1.12.4

stability: stable

thread_safety: multiple

SZ threadsafe is a threadsafe version of the error bounded lossy compressor SZ that uses prediction based methods to compress data. SZ threadsafe has fewer features than SZ, including but not limited to: no write stats support, and no PSNR/NORM mode. More information can be found about SZ on its project homepage.

Options

pressio:abs

type: double

unset by default

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:lossless

type: int32

unset by default

description: use lossless compression, the smaller the number the more biased towards speed, the larger the number the more biased towards compression

at this time (may change in the future), individual lossless compressors may internet values less than 1 or greater than 9 differently

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:rel

type: double

unset by default

description: a pointwise value-range relative error bound

compressors may provide this value without supporting rel=0. compressors that support rel=0, additionally should also define pressio:lossless

sz_threadsafe:abs_err_bound

type: double

default: <double> = 0.0001

description: the absolute error bound

sz_threadsafe:accelerate_pw_rel_compression

type: int32

default: <int32> = 1

description: trade compression ratio for a faster pw_rel compression

sz_threadsafe:app

type: char*

default: <char*> = "SZ"

description: access a application specific mode of SZ

sz_threadsafe:config_struct

type: void*

unset by default

description: structure passed to SZ_Init_Params()

sz_threadsafe:data_type

type: double

unset by default

description: an internal option to control compression

sz_threadsafe:error_bound_mode

type: int32

default: <int32> = 4

description: integer code used to determine error bound mode

sz_threadsafe:error_bound_mode_str

type: char*

unset by default

options: abs, abs_and_pw_rel, abs_and_rel, abs_or_pw_rel, abs_or_rel, pw_rel, rel, rel_and_pw_rel, rel_or_pw_rel, vr_rel

description: human readable string to set the error bound mode

sz_threadsafe:exafel:bin_size

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ, the size of the binning applied

sz_threadsafe:exafel:calib_panel

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the size of the calibration panel

sz_threadsafe:exafel:num_peaks

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ the number of peaks

sz_threadsafe:exafel:peak_size

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ the size of the peaks

sz_threadsafe:exafel:peaks_cols

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the list of columns peaks appear in

sz_threadsafe:exafel:peaks_rows

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the list of rows peaks appear in

sz_threadsafe:exafel:peaks_segs

type: data

default: <data> = data{ type=byte dims={} has_data=false}

description: for ROIBIN-SZ the segments peaks appear in

sz_threadsafe:exafel:sz_dim

type: uint32

default: <uint32> = 0

description: for ROIBIN-SZ the SZ dimensionality prefered

sz_threadsafe:exafel:tolerance

type: double

default: <double> = 0

description: for ROIBIN-SZ the tolerance used after binning

sz_threadsafe:gzip_mode

type: int32

default: <int32> = 3

description: Which mode to pass to GZIP when used

sz_threadsafe:lossless_compressor

type: int32

default: <int32> = 1

description: Which lossless compressor to use for stage 4

sz_threadsafe:max_quant_intervals

type: uint32

default: <uint32> = 65536

description: the maximum number of quantization intervals

sz_threadsafe:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

sz_threadsafe:pred_threshold

type: float

default: <float> = 0.99

description: an internal option used to control compression

sz_threadsafe:prediction_mode

type: int32

unset by default

description: an internal option used to control compression

sz_threadsafe:protect_value_range

type: int32

default: <int32> = 0

description: should the value range be preserved during compression

sz_threadsafe:psnr_err_bound

type: double

default: <double> = 90

description: the bound on the error in the PSNR

sz_threadsafe:pw_rel_err_bound

type: double

default: <double> = 0.001

description: the bound on the pointwise relative error

sz_threadsafe:quantization_intervals

type: uint32

default: <uint32> = 0

description: the number of quantization intervals to use, 0 means automatic

sz_threadsafe:rel_err_bound

type: double

default: <double> = 0.0001

description: the value range relative error bound mode

sz_threadsafe:sample_distance

type: int32

default: <int32> = 100

description: internal option used to control compression

sz_threadsafe:segment_size

type: int32

default: <int32> = 36

description: internal option used to control compression. number of points in each segement for pw_relBoundRatio

sz_threadsafe:snapshot_cmpr_step

type: int32

default: <int32> = 5

description: the frequency of preforming single snapshot based compression in time based compression

sz_threadsafe:sol_id

type: int32

default: <int32> = 101

description: an internal option use d to control compression

sz_threadsafe:sz_mode

type: int32

default: <int32> = 1

description: SZ Mode either SZ_BEST_COMPRESSION or SZ_BEST_SPEED

sz_threadsafe:user_params

type: void*

default: <void*> = true

description: arguments passed to the application specific mode of SZ. Use in conjunction with sz:app

Configuration

pressio:version

type: char*

value: <char*> = "2.1.12.4"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 2

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 1

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 12

description: the patch version number

sz_threadsafe:pastri

type: uint32

value: <uint32> = 1

description: true if PASTRI mode was built

sz_threadsafe:random_access_enabled

type: uint32

value: <uint32> = 0

description: true if SZ was compiled in random access mode

sz_threadsafe:timecmpr

type: uint32

value: <uint32> = 0

description: true if SZ if SZ is compiled in time based compression mode

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • sz_threadsafe:error_bound_mode_str
  • sz_threadsafe:metric

transpose

version: 0.0.1

stability: unstable

thread_safety: multiple

Meta-compressor that applies a transpose before compression

Options

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

transpose:axis

type: data

default: <data> = data{ type=uint64_t dims={0, } has_data=false}

description: how to reorder the dimensions, contains indicies 0..(N_DIMS-1)

transpose:compressor

type: char*

default: <char*> = "noop"

options: binning, bit_grooming, blosc, bzip2, chunking, cusz, delta_encoding, digit_rounding, fault_injector, fpzip, frsz, lambda_fn, linear_quantizer, log_transform, magick, manifest, many_dependent, many_independent, many_independent_threaded, mask_binning, mask_interpolation, ndzip, noop, nvcomp, opt, pressio, pw_rel, qoz, random_error_injector, repeat, resize, roibin, sample, sperr, switch, sz, sz3, sz_omp, sz_threadsafe, transpose, tthresh, zfp

description: Compressor to use after transpose is applied

transpose:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

Configuration

pressio:version

type: char*

value: <char*> = "0.0.1"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 1

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • transpose:compressor
  • transpose:metric

tthresh

version: 3c876c06d60570cc915bb61b43d2094ff1847e42

stability: experimental

thread_safety: single

TTHRESH: Tensor Compression for Multidimensional Visual Data

It is intended for Cartesian grid data of 3 or more dimensions, and leverages the higher-order singular value decomposition (HOSVD), a generalization of the SVD to 3 and more dimensions. See also TTHRESH: Tensor Compression for Multidimensional Visual Data (R. Ballester-Ripoll, P. Lindstrom and R. Pajarola)

Options

pressio:abs

type: double

default: <double> = 0

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

tthresh:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

tthresh:target

type: int32

default: <int32> = 0

description: numeric code for the target type

tthresh:target_str

type: char*

unset by default

options: eps, psnr, rmse

description: string that represents the target type

tthresh:target_value

type: double

default: <double> = 0

description: the value of the target

Configuration

pressio:version

type: char*

value: <char*> = "3c876c06d60570cc915bb61b43d2094ff1847e42"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 0

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 2

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • tthresh:metric
  • tthresh:target_str

zfp

version: 1.0.0

stability: stable

thread_safety: multiple

ZFP is an error bounded lossy compressor that uses a transform which is similar to a discrete cosine transform. More information on ZFP can be found on its project homepage

Options

pressio:abs

type: double

unset by default

description: a pointwise absolute error bound

compressors may provide this value without supporting abs=0. compressors that support abs=0, additionally should also define pressio:lossless

pressio:lossless

type: int32

unset by default

description: use lossless compression, the smaller the number the more biased towards speed, the larger the number the more biased towards compression

at this time (may change in the future), individual lossless compressors may internet values less than 1 or greater than 9 differently

pressio:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

pressio:nthreads

type: uint32

default: <uint32> = 0

description: number of threads to use

zfp:accuracy

type: double

unset by default

description: absolute error tolerance for fixed-accuracy mode

zfp:dims

type: uint32

unset by default

description: the dimensionality of the input data, used in fixed-rate mode

zfp:execution

type: int32

default: <int32> = 0

description: which execution mode to use

zfp:execution_name

type: char*

unset by default

options: omp, cuda, serial

description: which execution mode to use as a human readable string

zfp:maxbits

type: uint32

default: <uint32> = 16658

description: maximum number of bits to store per block

zfp:maxprec

type: uint32

default: <uint32> = 64

description: maximum number of bit planes to store

zfp:metric

type: char*

default: <char*> = "noop"

options: autocorr, clipping, composite, data_gap, diff_pdf, entropy, error_stat, external, historian, input_stats, kl_divergence, ks_test, kth_error, mask, memory, noop, pearson, print_options, printer, rcpp, region_of_interest, size, spatial_error, time, write_debug_inputs

description: metrics to collect when using the compressor

zfp:minbits

type: uint32

default: <uint32> = 1

description: minimum number of bits to store per block

zfp:minexp

type: int32

default: <int32> = -10

description: minimum floating point bit plane number to store

zfp:mode

type: uint32

unset by default

description: a compact encoding of compressor parameters

zfp:omp_chunk_size

type: uint32

default: <uint32> = 0

description: OpenMP chunk size used in OpenMP mode

zfp:omp_threads

type: uint32

default: <uint32> = 0

description: number of OpenMP threads to use in OpenMP mode

zfp:precision

type: uint32

unset by default

description: The precision specifies how many uncompressed bits per value to store, and indirectly governs the relative error

zfp:rate

type: double

unset by default

description: the rate used in fixed rate mode

zfp:reversible

type: uint32

unset by default

description: use reversible mode

zfp:type

type: uint32

unset by default

description: the type used in fixed rate mode

zfp:wra

type: int32

unset by default

description: write random access used in fixed rate mode

Configuration

pressio:version

type: char*

value: <char*> = "1.0.0"

description: the version string from the compressor

pressio:version_epoch

type: uint64

value: <uint64> = 0

description: the epoch version number; this is a libpressio specific value used if the major_version does not accurately reflect backward incompatibility

pressio:version_major

type: int32

value: <int32> = 1

description: the major version number

pressio:version_minor

type: int32

value: <int32> = 0

description: the minor version number

pressio:version_patch

type: int32

value: <int32> = 0

description: the patch version number

other configuration entries:

  • metrics:copy_compressor_results
  • metrics:errors_fatal
  • pressio:metric
  • pressio:stability
  • pressio:thread_safe
  • zfp:execution_name
  • zfp:metric