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) | 2.13 | 287 MB/s | 300MHz | 4.1K | 4 | 6 |
Snappy Streaming (Single Engine) | 2.13 | 260 MB/s | 300MHz | 2.9K | 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.42 GB/s | 253MHz | 6.2K | 0 | 4 |
Snappy Streaming (Single Engine and Datawidth: 64bit) | 1.58 GB/s | 300MHz | 7.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 |
[†] | 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) |