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.5 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) 结合起来。 我们用一种新颖的表达方式, 近似高阶单调单调单调单调单调的单调的单调数, 塔克解析的差差差差差差差( ST- HOHSVD 程序 ) 。 我们还讨论了 ATC 的多个界面的存在、 数据类型支持和整合的内压率, 最终显示A- bal- deal- deal cal 的内压率数据, 提供A- deal- deal- deal- deal deal deal deal decildal ral deal deal deal deal deal deal deal deal ex ex ex ex ex ex 提供A- deal deal deal deal deal deal deal deal deal deal deal deal deal deal deal deal deal deal deal dex 提供我们提供我们的数据 数据 的中的数据 的压率 。