Skip to content

Exception thrown: LOSSLESS + OpenMP #136

Description

@ShatrovOA

Dear SZ3 Developers,

Been checking out SZ3 lately. Noticed that it also supports lossless compression via ZSTD.
However it breaks when OpenMP is enabled:

terminate called after throwing an instance of 'std::length_error'
  what():  The buffer for compressed data is not large enough.

Tested using sz3 executable with testfloat_8_8_128.dat data.
Number of cores do not matter
Changing bytesCap to a bigger value at https://github.com/szcompressor/SZ3/blob/master/tools/sz3/sz3.cpp#L133 also do not matter

Turning off OpenMP makes everything work.

Configuration used

# SZ3 Configuration File
#
# This file configures SZ3 compression and decompression settings.
# Uncomment and modify the settings below as needed.
# For detailed explanations of each option and their valid values, refer to SZ3/utils/Config.hpp.
#
# Default values are used if settings are commented out or omitted.

[GlobalSettings]

# Compression algorithm
# Options: ALGO_LORENZO_REG, ALGO_INTERP_LORENZO, ALGO_INTERP, ALGO_NOPRED, ALGO_LOSSLESS, ALGO_BIOMD, ALGO_BIOMDXTC
CmprAlgo = ALGO_LOSSLESS

# Error bound mode
# Options: ABS, REL, PSNR, NORM, ABS_AND_REL, ABS_OR_REL
ErrorBoundMode = REL

# Absolute error bound (used with ABS mode)
AbsErrorBound = 1e-3

# Relative error bound (used with REL mode)
# RelErrorBound = 1e-3

# PSNR error bound (used with PSNR mode)
# PSNRErrorBound = 70

# L2 norm error bound (used with NORM mode)
# L2NormErrorBound = 0.333

# Enable OpenMP for parallel processing (YES or NO)
OpenMP = YES



[AlgoSettings]

# Advanced algorithm settings for tuning (not recommended for regular users)
# Uncomment only if you understand the implications.

# InterpolationAlgo = INTERP_ALGO_CUBIC
# InterpolationDirection = 0
# Lorenzo = Yes
# Lorenzo2ndOrder = No
# Regression = Yes
# Regression2ndOrder = No
# BlockSize = 6
# QuantizationBinTotal = 65536

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions