Skip to content

Commit 69dd0e3

Browse files
committed
Merge 5.1 release branch into amd-main
2 parents 3a26ffa + 040046f commit 69dd0e3

File tree

177 files changed

+22577
-9078
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+22577
-9078
lines changed

CMakeLists.txt

Lines changed: 109 additions & 17 deletions
Large diffs are not rendered by default.

LICENSE.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
This summary and the license information provided below is for reference purposes and is not intended to be a comprehensive list of all copyright notices or license terms and conditions applicable to Compression Library. Please refer to the source code files in Compression Library for all copyrights and licenses.
22

3+
34
AMD copyrighted code (BSD-3-clause)
45
Copyright Statements
56
Copyright (C) 2008-2022,Advanced Micro Devices, Inc. All rights reserved.

NOTICES

Lines changed: 232 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,12 @@ Option | Description
108108
------------------------------------|----------------------------------------------------------------------------------------
109109
AOCL_LZ4_OPT_PREFETCH_BACKWARDS | Enable LZ4 optimizations related to backward prefetching of data (Disabled by default)
110110
SNAPPY_MATCH_SKIP_OPT | Enable Snappy match skipping optimization (Enabled by default)
111+
SNAPPY_HIGH_COMPRESSION | Enable Snappy high compression to get better ratio by compromising on speed (Disabled by default)
112+
SNAPPY_ENABLE_DECOMPRESS_BRANCHLESS | Enable Snappy branchless decompression optimization (Disabled by default for GCC and enabled for all other compilers)
111113
LZ4_FRAME_FORMAT_SUPPORT | Enable building LZ4 with Frame format and API support (Enabled by default)
112114
AOCL_LZ4HC_DISABLE_PATTERN_ANALYSIS | Disable Pattern Analysis in LZ4HC for level 9 (Enabled by default)
113-
AOCL_ZSTD_SEARCH_SKIP_OPT_DFAST_FAST| Enable ZSTD match skipping optimization, and reduce search strength/tolerance for levels 1-4 (Enabled by default)
114-
AOCL_DECOMPRESS_FAST | Enable fast decompression modes that might compromise on compression speed / ratio to produce streams that decompress faster. Supported values 1, 2 for ZSTD. (Disabled by default)
115+
AOCL_ZSTD_SEARCH_SKIP_OPT | Enable ZSTD match skipping optimization that steps more aggresively when matches are not found (Enabled by default)
116+
AOCL_DECOMPRESS_FAST | Enable fast decompression modes that might compromise on compression speed / ratio to produce streams that decompress faster. Supported values: {1,2,3} ZSTD, {1,2} Snappy, {1} LZ4. (Disabled by default)
115117
AOCL_TEST_COVERAGE | Enable GTest, AOCL test bench and third party test bench based CTest suite (Disabled by default)
116118
AOCL_ENABLE_LOG_FEATURE | Enables logging through environment variable `AOCL_ENABLE_LOG` (Disabled by default)
117119
CODE_COVERAGE | Enable source code coverage. Only supported on Linux with the GCC compiler (Disabled by default)
@@ -138,10 +140,11 @@ NATIVE_ENABLE_THREADS | Enable native multi-threaded compression
138140
AOCL_TEST_FUZZER | Enable fuzz test along with GTest. Only supported on Linux with the Clang compiler (Disabled by default)
139141
AOCL_TEST_FUZZER_WITH_CORPUS | Run fuzz tests with corpus. Only supported on Linux with the Clang compiler (Disabled by default)
140142
ENABLE_FAST_MATH | Enable fast-math optimizations (Disabled by default)
143+
BUILD_UTILITY | Enable third party utility build: zstd (Disabled by default)" OFF)
141144

142145
* NOTE: <br>
143146
1. ZLIB supports quicker compression strategy for Level 1 by trading off compression ratio. Enable it by <br>
144-
setting environment variable AOCL_ZLIB_QUICK_MODE. It also improves performance for levels 2, 3 and 5 <br>
147+
setting environment variable AOCL_ZLIB_QUICK_MODE=ON. It also improves performance for levels 2, 3 and 5 <br>
145148
while trading off compression ratio. <br>
146149

147150
Running AOCL-Compression Test Bench On Linux
@@ -260,7 +263,7 @@ Running AOCL-Compression Test Bench On Windows
260263
----------------------------------------------
261264

262265
* CAUTION: <br>
263-
Before running the test bench, check whether it points to the right library dependency. <br>
266+
Before running the test bench, ensure it points to the right library dependencies for aocl_compression, openMP, etc. <br>
264267

265268
Test bench on Windows supports all the user options as Linux,
266269
except for the `-c` option to link and test IPP compression methods.
@@ -273,7 +276,7 @@ Running AOCL-Compression Examples
273276
---------------------------------
274277

275278
* CAUTION: <br>
276-
Before running the example programs, check whether it points to the right library dependency. <br>
279+
Before running the example programs, ensure it points to the right library dependencies for aocl_compression, openMP, etc. <br>
277280

278281
Example programs are provided for both unified API and native APIs of each compression method.
279282
The library should be built with -DBUILD_EXAMPLE=ON. Other cmake options including
@@ -289,6 +292,10 @@ The library should be built with -DBUILD_EXAMPLE=ON. Other cmake options includi
289292
build the library by using -DAOCL_ENABLE_THREADS=ON and run the command:<br>
290293
`example_aocl_llc_skip_rap_frame <input filename>`
291294

295+
* To run example program that demonstrates obtaining format compliant gzip compressed stream from multithreaded API,
296+
build the library by using -DAOCL_ENABLE_THREADS=ON and run the command:<br>
297+
`example_compress2_gzip <input filename>`
298+
292299
Running tests with CTest
293300
------------------------
294301

@@ -421,8 +428,8 @@ Enabling specific instructions (ISA)
421428

422429
Multi-threaded Compression and Decompression
423430
--------------------------------------------
424-
- Parallel compression and decompression of lz4, zlib, zstd and snappy is implemented using
425-
openMP multi-threading. A RAP (random access point) frame is introduced in AOCL-Compression
431+
- Parallel compression and decompression of lz4, lz4hc, zlib (zlib, deflate and gzip formats), zstd and snappy
432+
is implemented using openMP multi-threading. A RAP (random access point) frame is introduced in AOCL-Compression
426433
to support parallel decompression of the compressed streams/files. Use AOCL_ENABLE_THREADS
427434
config option to enable the multi-threading.
428435
- A stream compressed with multi-threaded AOCL-Compression library can be decompressed using any

algos/bzip2/blocksort.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
1111
bzip2/libbzip2 version 1.0.8 of 13 July 2019
1212
Copyright (C) 1996-2019 Julian Seward <[email protected]>
13-
Copyright (C) 2023, Advanced Micro Devices. All rights reserved.
13+
Modifications Copyright (C) 2023, Advanced Micro Devices. All rights reserved.
1414
1515
Please read the WARNING, DISCLAIMER and PATENTS sections in the
1616
README file.

0 commit comments

Comments
 (0)