You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AOCL_LZ4_OPT_PREFETCH_BACKWARDS | Enable LZ4 optimizations related to backward prefetching of data (Disabled by default)
118
-
SNAPPY_MATCH_SKIP_OPT | Enable Snappy match skipping optimization (Disabled by default)
110
+
SNAPPY_MATCH_SKIP_OPT | Enable Snappy match skipping optimization (Enabled by default)
119
111
LZ4_FRAME_FORMAT_SUPPORT | Enable building LZ4 with Frame format and API support (Enabled by default)
120
112
AOCL_LZ4HC_DISABLE_PATTERN_ANALYSIS | Disable Pattern Analysis in LZ4HC for level 9 (Enabled by default)
121
-
AOCL_ZSTD_SEARCH_SKIP_OPT_DFAST_FAST| Enable ZSTD match skipping optimization, and reduce search strength/tolerance for levels 1-4 (Disabled by default)
122
-
AOCL_ZSTD_WILDCOPY_LONG | Faster wildcopy when match lengths are long in ZSTD decompression (Disabled by default)
123
-
AOCL_TEST_COVERAGE | Enable GTestand AOCL test bench based CTest suite (Disabled 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_TEST_COVERAGE | Enable GTest, AOCL test bench and third party test bench based CTest suite (Disabled by default)
124
116
AOCL_ENABLE_LOG_FEATURE | Enables logging through environment variable `AOCL_ENABLE_LOG` (Disabled by default)
125
117
CODE_COVERAGE | Enable source code coverage. Only supported on Linux with the GCC compiler (Disabled by default)
126
118
ASAN | Enable Address Sanitizer checks. Only supported on Linux/Debug build (Disabled by default)
127
119
VALGRIND | Enable Valgrind checks. Only supported on Linux/Debug and incompatible with ASAN=ON (Disabled by default)
128
120
BUILD_DOC | Build documentation for this library (Disabled by default)
129
-
ZLIB_DEFLATE_FAST_MODE| Enable ZLIB deflate quick strategy (Disabled by default)
121
+
BUILD_EXAMPLE | Build examples for aocl-compression (Disabled by default)
130
122
AOCL_LZ4_MATCH_SKIP_OPT_LDS_STRAT1 | Enable LZ4 match skipping optimization strategy-1 based on a larger base step size applied for long distance search (Disabled by default)
131
123
AOCL_LZ4_MATCH_SKIP_OPT_LDS_STRAT2 | Enable LZ4 match skipping optimization strategy-2 by aggressively setting search distance on top of strategy-1. Preferred to be used with Silesia corpus (Disabled by default)
132
124
AOCL_LZ4_NEW_PRIME_NUMBER | Enable the usage of a new prime number for LZ4 hashing function. Preferred to be used with Silesia corpus (Disabled by default)
133
125
AOCL_LZ4_EXTRA_HASH_TABLE_UPDATES | Enable storing of additional potential matches to improve compression ratio. Recommended for higher compressibility use cases (Disabled by default)
134
-
AOCL_LZ4_HASH_BITS_USED | Control the number of bits used for LZ4 hashing, allowed values are LOW (low perf gain and less CR regression) and HIGH (high perf gain and high CR regression) (Disabled by default)
126
+
AOCL_LZ4_HASH_BITS_USED | Control the number of bits used for LZ4 hashing, allowed values are OFF, LOW (low perf gain and less CR regression) and HIGH (high perf gain and high CR regression) (LOW by default)
135
127
AOCL_EXCLUDE_BZIP2 | Exclude BZIP2 compression method from the library build (Disabled by default)
136
128
AOCL_EXCLUDE_LZ4 | Exclude LZ4 compression method from the library build. LZ4HC also gets excluded (Disabled by default)
137
129
AOCL_EXCLUDE_LZ4HC | Exclude LZ4HC compression method from the library build (Disabled by default)
@@ -141,10 +133,23 @@ AOCL_EXCLUDE_ZLIB | Exclude ZLIB compression method from the
141
133
AOCL_EXCLUDE_ZSTD | Exclude ZSTD compression method from the library build (Disabled by default)
142
134
AOCL_XZ_UTILS_LZMA_API_EXPERIMENTAL | Build with xz utils lzma APIs. Experimental feature with limited API support (Disabled by default)
143
135
AOCL_ENABLE_THREADS | Enable multi-threaded compression and decompression using SMP based openMP threads (Disabled by default)
136
+
TEST_COVERAGE_THIRD_PARTY | Enable third party test bench based CTest suite (Disabled by default)
137
+
NATIVE_ENABLE_THREADS | Enable native multi-threaded compression for supported methods (Disabled by default)
138
+
AOCL_TEST_FUZZER | Enable fuzz test along with GTest. Only supported on Linux with the Clang compiler (Disabled by default)
139
+
AOCL_TEST_FUZZER_WITH_CORPUS | Run fuzz tests with corpus. Only supported on Linux with the Clang compiler (Disabled by default)
140
+
ENABLE_FAST_MATH | Enable fast-math optimizations (Disabled by default)
141
+
142
+
* NOTE: <br>
143
+
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>
145
+
while trading off compression ratio. <br>
144
146
145
147
Running AOCL-Compression Test Bench On Linux
146
148
--------------------------------------------
147
149
150
+
* CAUTION: <br>
151
+
Before running the test bench, check whether it points to the right library dependency. <br>
152
+
148
153
Test bench supports several options to validate, benchmark or debug the supported
149
154
compression methods.
150
155
It uses the unified API set to invoke the compression methods supported by AOCL-Compression.
@@ -185,7 +190,7 @@ Here, 5 is the level and 0 is the additional parameter passed to ZSTD method.
185
190
*`AOCL_ENABLE_LOG=INFO` for Error, Info logs.
186
191
*`AOCL_ENABLE_LOG=DEBUG` for Error, Info, Debug logs.
187
192
*`AOCL_ENABLE_LOG=TRACE` for Error, Info, Debug, Trace logs.<br>
188
-
Note: When building the library for highest performance, do not enable `DAOCL_ENABLE_LOG_FEATURE`.
193
+
Note: When building the library for highest performance, do not enable `AOCL_ENABLE_LOG_FEATURE`.
189
194
190
195
191
196
* To run the test bench but only compression or decompression <br>
@@ -206,6 +211,18 @@ Here, 5 is the level and 0 is the additional parameter passed to ZSTD method.
206
211
Method name and level must be specified using -e for default and -rcompress modes. <br>
207
212
Method name must be specified using -e for -rdecompress mode. <br>
208
213
214
+
* To run the test bench and test native APIs, use the command: <br>
Additional seed properties can be specified by environment variables:
341
+
* AOCL_FUZZ_SIZE_MAX : Max size in bytes to use for i/o buffers used in fuzz testing.
342
+
* AOCL_FUZZ_CPR_RATIO : Compression ratio estimate of compressed files used for decompress API fuzz tests.
343
+
270
344
Running source code coverage using GCOV
271
345
---------------------------------------
272
346
273
347
To measure source code coverage, use CODE_COVERAGE option while configuring the CMake build. Run CMake with the custom target option 'code-coverage' to execute tests and generate code coverage data. The code coverage reports are generated in the build directory under subdirectory called 'coverage/html_report'. Open the HTML files in browser to view the coverage information.
274
348
275
349
Following is the sample command usage to run code coverage:
Running Valgrind and ASAN memory checks using CTest
@@ -309,8 +389,15 @@ Following are a few sample commands to use the script available in the 'scripts'
309
389
Generating Documentation
310
390
------------------------
311
391
- To generate documentation, specify the `-DBUILD_DOC=ON` option while building.
312
-
- Documents will be generated in HTML format in the folder __docs/html__ . Open the index.html file in any browser to view the documentation.
313
-
- CMake will use the existing Doxygen if available. Else, it will prompt the user to install doxygen and try again.
392
+
- Documents will be generated in HTML format in the folder __docs/html__ as doxygen output & __docs/sphinx/html__ as sphinx output. Open the index.html file from respective folders in any browser to view the documentation.
393
+
- The following packages are expected before running CMake with `-DBUILD_DOC=ON` option:
394
+
1. Doxygen.
395
+
2. Python packages:
396
+
- Sphinx
397
+
- rocm_docs
398
+
- breathe
399
+
- myst_parser
400
+
- CMake halts if required packages are missing by providing directives for installing the absent packages.
0 commit comments