QATzip is a user-space library built on top of the Intel® QuickAssist Technology (QAT) user-space library. It provides extended compression and decompression capabilities by offloading these operations to Intel® QAT Accelerators.
sudo vim /etc/default/grubGRUB_CMDLINE_LINUX to add intel_iommu=on vfio-pci.ids=8086:4941 (SPR)sudo update-grubUpdate the kernel: grubby --update-kernel=/boot/vmlinuz-$(uname -r) --remove-args="intel_iommu=on" --args="intel_iommu=off vfio-pci.ids=8086:4941"
Reboot the system
Ensure VT-d and SRIOV are enabled in the host. The steps can be referred from the link Configuring the host operating system with SR-IOV IOMMU.
for i in `(lspci -D -d :4940 || lspci -D -d :4942) | awk '{print $1}'`; do echo 16 | sudo tee
/sys/bus/pci/devices/$i/sriov_numvfs; done
systemctl stop qat
systemctl stop qat_service
systemctl disable qat_service
for i in `lspci -D -d :4940 | awk '{print $1}'`; do echo down > /sys/bus/pci/devices/$i/qat/state; done
for i in `lspci -D -d :4940 | awk '{print $1}'`; do echo "dc" > /sys/bus/pci/devices/$i/qat/cfg_services; done
for i in `lspci -D -d :4940 | awk '{print $1}'`; do echo up > /sys/bus/pci/devices/$i/qat/state; done
for i in `lspci -D -d :4940 | awk '{print $1}'`; do cat /sys/bus/pci/devices/$i/qat/state; done
getent group qat | cut -d ':' -f 3
chown root:qat /dev/vfio/*
chmod 660 /dev/vfio/*
To build the Docker image, use the following command:
docker build --build-arg GID=$(getent group qat | cut -d ':' -f 3) -t <docker_image_name>
<Dockerfile_path>
To run the Docker image, use the following command:
Compress:
docker run --rm -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined --security-opt apparmor=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) --env QAT_POLICY=1 --ulimit memlock=50000000:50000000 <qatzip-docker-image> qzip -k calgary -O gzipext -A deflate
Decompress:
docker run --rm -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined --security-opt apparmor=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) --env QAT_POLICY=1 --ulimit memlock=50000000:50000000 <qatzip-docker-image> qzip -d calgary.gz -A deflate
NOTE: "Warning, users who have access to the docker group also have root access"
Compress:
docker run --rm -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined --security-opt apparmor=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) --env QAT_POLICY=1 --ulimit memlock=50000000:50000000 -v /opt/opt --memory=8g -w $PWD <qatzip-docker-image> qzip -k calgary -O gzipext -A deflate
Decompress:
docker run --rm -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined --security-opt apparmor=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) --env QAT_POLICY=1 --ulimit memlock=50000000:50000000 -v /opt/opt --memory=8g -w $PWD <qatzip-docker-image> qzip -d calgary.gz -A deflate
Intel, Intel Atom, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. Copyright © 2016-2026, Intel Corporation. All rights reserved.
Content type
Image
Digest
sha256:0a724efbf…
Size
37.4 MB
Last updated
about 2 months ago
Requires Docker Desktop 4.37.1 or later.
Pulls:
47
Last week