OpenJPH v0.16 Now Using AVX2 For Faster HTJ2K/JPEG2000
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.
Downloads and more details on OpenJPH 0.16 via GitHub.
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.
Downloads and more details on OpenJPH 0.16 via GitHub.
5 Comments