Qat-Java accelerates data compression in Java applications using Intel® QuickAssist Technology (QAT) hardware.
| Algorithm | Notes |
|---|---|
| DEFLATE | QAT offload |
| LZ4 | QAT offload |
| Zstandard | QAT offload (only for compression) |
- Intel® platform with QAT (e.g., 4th/5th Gen Xeon® Scalable)
- QAT devices configured and accessible (see QAT Documentation)
| Dependency | Version |
|---|---|
| QATlib | 24.09.0 |
| QATzip | 1.3.0 |
| Zstandard | 1.5.4 |
| zstd-jni | 1.5.6-1+ (if not building from source) |
| Zlib | 1.2.7+ |
| GCC | 8.5+ |
| JDK | 17+ |
| Clang | Required for fuzz testing only |
# Build
mvn clean package
# Run an example
java -cp .:./target/classes/:path/to/zstd-jni-1.5.6-1.jar \
com.intel.qat.examples.QatDeflateExamplemvn clean package| Goal | Description |
|---|---|
clean |
Remove build artifacts |
compile |
Compile source code |
test |
Run unit tests |
package |
Build JAR files into target/ |
javadoc:javadoc |
Generate API documentation |
spotless:check |
Verify code formatting |
spotless:apply |
Auto-fix code formatting |
site |
Generate Surefire reports in target/site/ |
Run all unit tests:
mvn testRequires Jazzer:
mvn test -Dfuzzing=trueRun any class from the com.intel.qat.examples package:
# Linux
java -cp .:./target/classes/:path/to/zstd-jni-1.5.6-1.jar \
com.intel.qat.examples.<ExampleClass>
# Windows
java -cp .;.\target\classes\;path\to\zstd-jni-1.5.6-1.jar ^
com.intel.qat.examples.<ExampleClass>See CONTRIBUTING.md for guidelines.
- Mulugeta Mammo — mulugeta.mammo@intel.com
- Olasoji Denloye — olasoji.denloye@intel.com
- Praveen Nishchal — praveen.nishchal@intel.com
Zstandard compression contributions by Jacob Greenfield, Matthew West, and Tommy Parisi.
* Java is a registered trademark of Oracle and/or its affiliates.