AMD Releases Brotli-G For GPU-Accelerated Brotli Compression
After open-sourcing its Radeon Raytracing Analyzer code last week, this week AMD's GPUOpen team has a new open-source project announcement: Brotli-G.
Brotli-G is a new open-source GPU-based implementation of Brotli for compression/decompression. Given that Brotli is widely-used for web assets and other data compression purposes, AMD engineers decided to work on Brotli-G for speeding up that compression/decompression on GPUs.
Though in order to make Brotli suitable for GPU acceleration (and high core count multi-threaded CPUs), they did make some bitstream format modifications to Brotli. Brotli-G allows for parallel Huffman substreams, limiting the size of chunks to compress, and other simplifying of the bitstream format for better GPU performance. Though the modifications were made in such a way that existing Brotli decompression functions should be able to decompress the Brotli-G bitstream.
Brotli-G is written as a Microsoft HLSL shader to allow any graphics card to support it -- not just AMD Radeon graphics products. Choosing HLSL is a bit unfortunate but at least with the various technologies these days still should allow for possible Linux support.
AMD is releasing the Brotli-G SDK under an MIT license. The Brotli-G SDK contains both CPU and GPU implementations.
More details on Brotli-G via GPUOpen.com while the source code is available from GitHub.
Brotli-G is a new open-source GPU-based implementation of Brotli for compression/decompression. Given that Brotli is widely-used for web assets and other data compression purposes, AMD engineers decided to work on Brotli-G for speeding up that compression/decompression on GPUs.
Though in order to make Brotli suitable for GPU acceleration (and high core count multi-threaded CPUs), they did make some bitstream format modifications to Brotli. Brotli-G allows for parallel Huffman substreams, limiting the size of chunks to compress, and other simplifying of the bitstream format for better GPU performance. Though the modifications were made in such a way that existing Brotli decompression functions should be able to decompress the Brotli-G bitstream.
Brotli-G is written as a Microsoft HLSL shader to allow any graphics card to support it -- not just AMD Radeon graphics products. Choosing HLSL is a bit unfortunate but at least with the various technologies these days still should allow for possible Linux support.
AMD is releasing the Brotli-G SDK under an MIT license. The Brotli-G SDK contains both CPU and GPU implementations.
More details on Brotli-G via GPUOpen.com while the source code is available from GitHub.
32 Comments