OpenJPH v0.16 Now Using AVX2 For Faster HTJ2K/JPEG2000

Written by Michael Larabel in Programming on 9 September 2024 at 06:09 AM EDT. 5 Comments
PROGRAMMING
OpenJPH v0.16 has been released as the newest version of this open-source implementation of High-Throughput JPEG2000 (HTJK), also known as JPH / JPEG2000 Part 15. With this new release comes faster performance thanks to making use of Advanced Vector Extensions 2 (AVX2) to complement its existing AVX-512 code.

OpenJPH has already been making use of AVX-512 in some areas while with this weekend's v0.16 release has begun making use of the older AVX2 where supported for those not on Intel server platforms, Intel Tigerlake, or AMD Zen 4 and newer where AVX-512 is found.

This pull adds AVX2 optimizations for the OpenJPH encoder and decoder. The AVX2 encoder performance is up by around 37% compared to the standard C code. This AVX2 path is around 7.5% slower than the AVX-512 path on capable processors. Meanwhile the decoder performance is around 7% faster than the common C code with AVX2.

AVX2 is found on Intel CPUs since Haswell and on AMD CPUs since Excavator, making for a nice speed-up with this new OpenJPH release for faster high-throughput JPEG2000 encoding and decoding for those CPU models lacking AVX-512.

JPEG2000 logo


Downloads and more details on OpenJPH 0.16 via GitHub.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week