---
tags: QuickAssist Technology (QAT)
---
# Intel QuickAssist Technology (QAT) building SOP
###### tags: QuickAssist Technology (QAT)
## Brief introduction of DPDK
Point of QAT: Accelerate encrypting/decrypting and zip/unzip by HW.
Program can call API of QAT, let QAT help accelerate encrypting/decrypting and zip/unzip.
## Platform
Mother Board: CB-1920
CPU: Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz*** 2 (must support QAT)
OS: Ubuntu 18.04 LTS kernel 4.15.0
## SOP
### 1.Login root
```javascript=
$ sudo su
```
### 2.Create directory (put QAT source code later)
```javascript=
$ mkdir qat/
$ cd qat/
```
### 3.apt-get update
### 4.Install basic packages
```javascript=
$ apt-get install build-essential g++ pkg-config libssl-dev zlib1g-dev libudev-dev
```
### 5.Download and unzip QAT source package
```javascript=
$ wget https://01.org/sites/default/files/downloads/qat1.7.l.4.9.0-00008.tar.gz
$ tar –zxof qat1.7.l.4.9.0-00008.tar.gz //in this example, I download qat1.7.l.4.9.0-00008.tar.gz
$ chmod -R 777 *
```
### 6.Install QAT module
```javascript=
$ ./configure
$ make
$ make install
```
### 7.Check the installation was successful
```javascript=
$ lsmod | grep qat
```

### 8.Start QAT service
```javascript=
$ service qat_service start
$ service qat_service status
```

State: up (QAT start successful)
If the state: down (QAT off)
Start QAT command
```javascript=
$ service qat_service start
```
or
Restart QAT command:
```javascript=
$ service qat_service restart
```
### 9.Install QAT cpa sample code
```javascript=
$ make samples-install
```
### 10.Execute QAT sample code
```javascript=
$ cd build
$ ./cpa_sample_code
```

You can get the test results of all the preset algorithms, but there are two results, API show Traditional, It’s not the QAT test result.

API show Data_Plane, that is the QAT test result.

Default QAT sample code can be get result as following below item.
* AES128-CBC HMAC-SHA1
* AES256-CBC HMAC-SHA2-512
* AES256-CBC AES-XCBC
* AES128-CBC
* AES256-CBC
* KASUMI_F8
The following algorithm sample code results is QAT data (only one result ).
* RSA CRT DECRYPT
* DIFFIE-HELLMAN PHASE 2
* DSA VERIFY
* ECDSA VERIFY
## Special thanks
Bruce Li