Skip to content
This repository was archived by the owner on Aug 29, 2023. It is now read-only.

Commit 5901a28

Browse files
author
Devaraj K
committed
Intel QAT compression/decompression library
0 parents  commit 5901a28

File tree

58 files changed

+33856
-0
lines changed

Some content is hidden

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

58 files changed

+33856
-0
lines changed

.gitattributes

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto
3+
4+
*.cs text diff=csharp eol=lf
5+
*.java text diff=java eol=lf
6+
*.html text diff=html eol=lf
7+
*.py text diff=python eol=lf
8+
*.pl text diff=perl eol=lf
9+
*.pm text diff=perl eol=lf
10+
*.css text eol=lf
11+
*.js text eol=lf
12+
*.sql text eol=lf
13+
14+
*.sh text eol=lf
15+
16+
*.bat text eol=crlf
17+
*.cmd text eol=crlf
18+
*.vcxproj text merge=union eol=crlf
19+
*.csproj text merge=union eol=crlf
20+
*.sln text merge=union eol=crlf

.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# .gitignore file
2+
3+
# Source
4+
########
5+
*.o
6+
*.so
7+
*.dll
8+
*.a
9+
*.exe
10+
*.ko
11+
*.class
12+
13+
# Package
14+
#########
15+
*.jar
16+
*.zip
17+
*.tar
18+
*.gz
19+
20+
# Log files
21+
###########
22+
*.log
23+
24+
# Editor copies
25+
###############
26+
README~
27+
.gitignore~
28+
*.c~
29+
*.h~
30+
*.java~
31+
*.sh~
32+
33+
# idea
34+
######
35+
*.iml
36+
.idea/
37+
38+
columnar_format_qat_wrapper/target/
39+
javah/
40+
jni-header/
41+
target/

LICENSE

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

Makefile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
ifeq ($(MVN),)
18+
MVN := mvn
19+
endif
20+
21+
home = $(shell pwd)
22+
qatzip_src_home=$(home)/dependencies/qatzip2/qatzip
23+
MVNFLAGS := -Dqatzip.src=$(qatzip_src_home)
24+
25+
all:
26+
@ $(MVN) $(MVNFLAGS) package
27+
28+
clean:
29+
@ $(MVN) clean
30+
31+
.PHONY : all clean

README.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# QAT Codec
2+
3+
QAT Codec project provides compression and decompression library for Apache
4+
Hadoop to make use of the Intel® QuickAssist Technology for compression/decompression.
5+
6+
Big data analytics are commonly performed on large data sets that are moved
7+
within a Hadoop cluster containing high-volume, industry-standard servers.
8+
A significant amount of time and network bandwidth can be saved when the data
9+
is compressed before it is passed between servers, as long as the compression/
10+
decompression operations are efficient and require negligible CPU cycles.
11+
This is possible with the hardware-based compression delivered by Intel®
12+
QuickAssist Technology, which is easy to integrate into existing systems
13+
and networks using the available Intel drivers and patches.
14+
15+
## Online Documentation
16+
17+
http://www.intel.com/content/www/us/en/embedded/technology/quickassist/overview.html
18+
19+
## Building QAT Codec
20+
21+
### 1. Building with Maven
22+
23+
This option assumes that you have installed maven in your build machine. Also assumed to have java installed and set JAVA_HOME
24+
25+
Run the following command for building qatcodec.jar and libqatcodec.so
26+
27+
mvn clean install -Dqatzip.libs=QATZIP_LIBRARIES_PATH -Dqatzip.src=QATZIP_SOURCE_CODE PATH
28+
29+
Here
30+
31+
qatzip.libs - A path where qatzip libraries placed. This is needed because QATCodec depends on qatzip libraries.
32+
qatzip.src - A path where qatzip source code placed. This is needed because QATCodec needs qatzip exposed h files for building.
33+
34+
Native code building will be skipped in Windows machine as QATCodec native code can not be build in Windows.
35+
36+
When you run the build in Linux os, native code will be build automatically when run the above command.
37+
38+
If you want native building to be skipped in linux os explicitly, then you need to mention -DskipNative
39+
40+
ex: mvn clean install -Dqatzip.libs=QATZIP_LIBRARIES_PATH -Dqatzip.src=QATZIP_SOURCE_CODE PATH -DskipNative
41+
42+
By default above commands will run the test cases as well. TO skip the test cases to run use the following command
43+
44+
mvn clean install -DskipTests Dqatzip.libs=QATZIP_LIBRARIES_PATH -Dqatzip.src=QATZIP_SOURCE_CODE_PATH
45+
46+
To run the specific test cases
47+
48+
mvn clean test -Dtest=TestQatCompressorDecompressor Dqatzip.libs=QATZIP_LIBRARIES_PATH -Dqatzip.src=QATZIP_SOURCE_CODE PATH
49+
50+
51+
### 2. Building with Makefile
52+
53+
#### 1. Building qatcodec.jar
54+
Set the below env variables,
55+
56+
JAVA_HOME - Java home
57+
58+
HADOOPJARS - Cloudera Hadoop jars
59+
60+
After exporting above parameters execute the following commands
61+
62+
cd QATCodec/build/
63+
64+
make
65+
66+
67+
#### 2. Building libqatcodec.so
68+
69+
Set the below env variables,
70+
71+
JAVA_HOME - Java home
72+
73+
QATZIPSRC - QATZIP source code path
74+
75+
LD_LIBRARY_PATH - make sure to export LD_LIBRARY_PATH with qatzip libraries
76+
77+
After exporting above parameters execute the following commands
78+
79+
cd QATCodec/build/native/
80+
81+
make

0 commit comments

Comments
 (0)