We present ATC, a C++ library for advanced Tucker-based lossy compression of dense multidimensional numerical data in a shared-memory parallel setting, based on the sequentially truncated higher-order singular value decomposition (ST-HOSVD) and bit plane truncation. Several techniques are proposed to improve speed, memory usage, error control and compression rate. First, a hybrid truncation scheme is described which combines Tucker rank truncation and TTHRESH quantization [Ballester-Ripoll et al., IEEE Trans. Visual. Comput. Graph., 2020]. We derive a novel expression to approximate the error of truncated Tucker decompositions in the case of core and factor perturbations. Furthermore, we parallelize the quantization and encoding scheme and adjust this phase to improve error control. Moreover, implementation aspects are described, such as an ST-HOSVD procedure using only a single transposition. We also discuss several usability features of ATC, including the presence of multiple interfaces, extensive data type support and integrated downsampling of the decompressed data. Numerical results show that ATC maintains state-of-the-art Tucker compression rates, while providing average speed-up factors of 2.2-3.9 and halving memory usage. Furthermore, our compressor provides precise error control, only deviating 1.4% from the requested error on average. Finally, ATC often achieves higher compression than non-Tucker-based compressors in the high-error domain.
翻译:我们展示了 ATC, C++ 高级基于塔克的基于塔克的高密度多维数字压缩库, 在一个共享的模拟平行环境中, 以顺序拖累的高阶单值分解( ST- HOSVD) 和点平平面分解为基础。 我们提出了几种提高速度、 记忆使用率、 错误控制和压缩率的技术。 首先, 描述一个混合的脱轨计划, 将塔克排行和 TTTHRESH 量化( 巴列斯特- Ripoll 等人, IEEEE Trans. 透视. comput. comput. 2020) 结合在一起。 我们以新颖的表达方式, 近似高阶单调单调单调单调单调的单调高多维度数字( 包括多个界面的存在 ) 、 大量数据类型支持和 塔克分解在核心和因素的折流率中, 我们同时展示了平均平流率的平流数据。