From 77314a0d53e048a68516684d9488027e55c6d14999cf69fc2fc39f3661f11d0c Mon Sep 17 00:00:00 2001 From: Atri Bhattacharya Date: Wed, 3 Jan 2024 10:52:02 +0000 Subject: [PATCH] Accepting request 1136375 from home:StefanBruens:branches:science - Update to 1.6.0: * Changes + Replaced the rANS codec SIMD gathers with simulated gathers via scalar memory fetches. This helps AMD Zen4, but importantly it also fixes a disastrous performance regression caused by Intel's DownFall microcode fix. + There is an impact on pre-DownFall speeds, but we should focus on patched CPUs as a priority. + A small speed up to the rans_F_to_s3 function used by order-0 rans decode. + Small speed up to SIMD rans32x16 order-1 encoder by reducing cache misses. Also sped up the rans4x8 order-1 encoder, particularly on AMD Zen4. + Now supports building with "zig cc" * Bug fixes + Improve robustness of name tokeniser when given non 7-bit ASCII and on machines where "char" defaults to unsigned. + Also fixed a 1 byte buffer read-overrun in name tokeniser. + Fix name tokeniser encoder failure with some duplicated streams. + Fixed rans_set_cpu to work multiple times, as well as reinstating the ability to change decode and encode side independently (accidentally lost in commit 958032c). No effect on usage, but it improves the test coverage. + Added a round-trip fuzz tester to test the ability to encode. The old fuzz testing was decode streams only. + Fixed bounds checking in rans_uncompress_O0_32x16_avx2, fixing buffer read overruns. + Removed undefined behaviour in transpose_and_copy(), fixing zig cc builds. OBS-URL: https://build.opensuse.org/request/show/1136375 OBS-URL: https://build.opensuse.org/package/show/science/htscodecs?expand=0&rev=7 --- htscodecs-1.5.0.tar.gz | 3 --- htscodecs-1.6.0.tar.gz | 3 +++ htscodecs.changes | 34 ++++++++++++++++++++++++++++++++++ htscodecs.spec | 4 ++-- 4 files changed, 39 insertions(+), 5 deletions(-) delete mode 100644 htscodecs-1.5.0.tar.gz create mode 100644 htscodecs-1.6.0.tar.gz diff --git a/htscodecs-1.5.0.tar.gz b/htscodecs-1.5.0.tar.gz deleted file mode 100644 index 96b4060..0000000 --- a/htscodecs-1.5.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:34def7341d01a374583d61c9012a80f6b40af078b11bfcaacba1a2412e34dab3 -size 3498542 diff --git a/htscodecs-1.6.0.tar.gz b/htscodecs-1.6.0.tar.gz new file mode 100644 index 0000000..5ac4f6a --- /dev/null +++ b/htscodecs-1.6.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b4abb6dfa192f179386c1d49256892a134297ecb4dd25ad4c346e9dde1108c0 +size 3715332 diff --git a/htscodecs.changes b/htscodecs.changes index 1f5665b..7a00918 100644 --- a/htscodecs.changes +++ b/htscodecs.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Wed Jan 3 01:32:19 UTC 2024 - Stefan BrĂ¼ns + +- Update to 1.6.0: + * Changes + + Replaced the rANS codec SIMD gathers with simulated gathers + via scalar memory fetches. This helps AMD Zen4, but + importantly it also fixes a disastrous performance regression + caused by Intel's DownFall microcode fix. + + There is an impact on pre-DownFall speeds, but we should + focus on patched CPUs as a priority. + + A small speed up to the rans_F_to_s3 function used by + order-0 rans decode. + + Small speed up to SIMD rans32x16 order-1 encoder by reducing + cache misses. Also sped up the rans4x8 order-1 encoder, + particularly on AMD Zen4. + + Now supports building with "zig cc" + * Bug fixes + + Improve robustness of name tokeniser when given non 7-bit + ASCII and on machines where "char" defaults to unsigned. + + Also fixed a 1 byte buffer read-overrun in name tokeniser. + + Fix name tokeniser encoder failure with some duplicated + streams. + + Fixed rans_set_cpu to work multiple times, as well as + reinstating the ability to change decode and encode side + independently (accidentally lost in commit 958032c). No + effect on usage, but it improves the test coverage. + + Added a round-trip fuzz tester to test the ability to + encode. The old fuzz testing was decode streams only. + + Fixed bounds checking in rans_uncompress_O0_32x16_avx2, + fixing buffer read overruns. + + Removed undefined behaviour in transpose_and_copy(), + fixing zig cc builds. + ------------------------------------------------------------------- Thu May 4 14:47:16 UTC 2023 - Andrea Manzini diff --git a/htscodecs.spec b/htscodecs.spec index d18cb91..5357e64 100644 --- a/htscodecs.spec +++ b/htscodecs.spec @@ -1,7 +1,7 @@ # # spec file for package htscodecs # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define sonum 2 Name: htscodecs -Version: 1.5.0 +Version: 1.6.0 Release: 0 Summary: C library for custom compression for CRAM and other formats License: MIT