Benchmark Results¶
Compression Performance¶
The following table presents compression ratio (CR), compression kernel throughput achieved with single and 8 engines, kernel clock frequency met and resource utilization when executed on Alveo U200.
Reported compression ratio is measured on Silesia Corpus compression benchmark.
| Architecture | Compression Ratio | Best Throughput | FMax | LUT | BRAM | URAM |
|---|---|---|---|---|---|---|
| LZ4 Streaming (Single Engine and Datawidth: 8bit) | 2.13 | 290 MB/s | 300MHz | 3.2K | 5 | 6 |
| Snappy Streaming (Single Engine and Datawidth: 8bit) | 2.13 | 290 MB/s | 300MHz | 3.1K | 4 | 6 |
| LZ4 Memory Mapped (8 Engines with Data Movers) | 2.13 | 2.2 GB/s | 295MHz | 47K | 56 | 48 |
| Snappy Memory Mapped (8 Engines with Data Movers) | 2.13 | 2.2 GB/s | 300MHz | 47K | 48 | 48 |
| Zlib Memory Mapped (Dynamic Huffman, 8 Engines with Data Movers) | 2.74 | 2 GB/s | 284MHz | 82.7K | 105 | 48 |
| GZip Memory Mapped (Dynamic Huffman, 8 Engines with Data Movers) | 2.74 | 2 GB/s | 284MHz | 82.7K | 105 | 48 |
| [*] | The amount of resources used indicate that we still have room on Alveo U200 to go for more compute units which can further improve the throughput. |
De-Compression Performance¶
The following table presents decompression kernel throughput achieved with single and 8 engines, kernel clock frequency met and resource utilization when executed on Alveo U200.
| Architecture | Best Throughput | FMax | LUT | BRAM | URAM |
|---|---|---|---|---|---|
| LZ4 Streaming (Single Engine and Datawidth: 64bit) | 1.8 GB/s | 300MHz | 7.2K | 0 | 4 |
| Snappy Streaming (Single Engine and Datawidth: 64bit) | 1.97 GB/s | 300MHz | 8.8K | 0 | 4 |
| Zlib Streaming (High Throughput, Datawidth: 64bit) | 1.18 GB/s | 227MHz | 11.6K | 3 | 2 |
| GZip Streaming (High Throughput, Datawidth: 64bit) | 1.18 GB/s | 227MHz | 13.9K | 4 | 2 |
| LZ4 Memory Mapped (8 Engines with Data Movers) | 1.8 GB/s | 300MHz | 30.6K | 146 | 0 |
| Snappy Memory Mapped (8 Engines with Data Movers) | 1.8 GB/s | 300MHz | 31.1K | 146 | 0 |
| ZStd Streaming (Single Engine and Datawidth: 32bit) | 783 MB/s | 232MHz | 18K | 52 | 4 |
| ZStd Full File Streaming (Single Engine with Datawidth: 32bit) | 783 MB/s | 232MHz | 22K | 52 | 4 |
| [†] | The amount of resources used indicate that we still have room on Alveo U200 to go for more compute units which can further improve the throughput. |
| [‡] | Zlib Streaming: Dynamic Huffman and Single Engine performance is provided. |
| [§] | GZip Streaming: Full standard support (Dynamic Huffman, Fixed Huffman and Stored Blocks supported). |
| [¶] | ZStd Streaming: Full Standard support with limited Window Size upto 128KB. |