-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathINSTALL
More file actions
317 lines (215 loc) · 10.3 KB
/
INSTALL
File metadata and controls
317 lines (215 loc) · 10.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
===============================================================================
===============================================================================
Overview
=========
Intel® QuickAssist Technology provides security and compression acceleration
capabilities used to improve performance and efficiency across the data center.
Previously existing build system has been replaced by Autotools solution
in order to provide with the widely known and easy to use tool to build and
install source packages.
===============================================================================
Licensing
=========
This product is released under the BSD-3-Clause License.
Files within this project have various inbound licences, listed below:
- Dual BSD/GPLv2 License
- BSD License
This package also links against files with the following licenses:
- OpenSSL License
- ZLIB License
For BSD-3-Clause license, please see the file LICENSE contained in the top
level folder.
For Dual BSD/GPLv2 please see the file headers of the relevant files.
===============================================================================
Using the QATlib package
========================
Note: Instructions assume running on at least FreeBSD 14.0 and root user.
Check System Prerequisites
==========================
There are some prerequisites to running the software in this package. If
running from a distro many of these are taken care of, if not here they
are:
* platform must have one of the following Intel® Communications devices:
4xxx : Use "pciconf -l | grep 0x4940" to check Physical Function (PF)
devices are present.
4xxx : Use "pciconf -l | grep 0x4941" to check VF devices have been created.
* kernel driver must be running
Use "kldstat | grep qat" to check that these kernel modules are running:
qat_common.ko
qat_hw.ko
qat.ko
qat_4xxx_fw.ko
===============================================================================
Compilation and installation - quickstart instructions
======================================================
Note, more detailed instructions in following section.
---------------------------------------------------------------------------
Summary if building from sources.
# Install dependencies
pkg install automake autoconf libtool nasm
# Clone QATlib into ~/qatlib-freebsd, i.e. in your root home dir
cd ~
git clone https://github.com/intel/qatlib-freebsd.git
# If instead you upgrade an earlier clone, follow the steps in
# "Remove the libraries and cleanup" before fetching.
# Build and install library
cd qatlib-freebsd
./autogen.sh
./configure
make [-j max_jobs]
make install
# The library is now ready to use with your application
# You can also follow these steps to try out a sample application:
# Compression sample code expects to find data files at a known location,
# so call the samples-install target to put them there
cd qatlib-freebsd
make samples-install
# Run it! (takes several minutes to complete)
cpa_sample_code
# No need to leave the samples installed, so cleanup
make samples-uninstall
===============================================================================
Compilation and installation - detailed instructions
====================================================
1) Install compilation dependencies
tools:
clang
make
autotools (automake, autoconf, libtool)
nasm
libraries:
openssl
zlib
----------------------------------------------------------------------------
2) Download package and configure it
To generate configure script - call:
./autogen.sh
To setup the default build configuration - call:
./configure
Full list of configuration options can be found under
"Configuration options" section below or by calling:
./configure --help
----------------------------------------------------------------------------
3) Compile and install the library
Build and install:
make [-j max_jobs]
make install
----------------------------------------------------------------------------
4) Run sample application
Sample code is built by default.
Information on running the performance sample-code is at
./quickassist/lookaside/access_layer/src/sample_code/README.txt
Examples:
Compression sample code expects to find data files at a known
location, so call the samples-install target to put them there:
make samples-install
Run all performance tests:
./cpa_sample_code
Symmetric crypto tests only:
./cpa_sample_code runTests=1
Asymmetric crypto RSA tests only:
./cpa_sample_code runTests=2
Compression tests only:
./cpa_sample_code runTests=32
Examples of other samples for a specific functionality:
Run just one symmetric cipher operation:
./cipher_sample
Run just one compress/decompress operation:
./dc_stateless_sample
----------------------------------------------------------------------------
5) Remove the libraries and cleanup
Note: These make commands should be run using the Makefiles that were
generated by the original call to the configure script. I.e. there is
no need to call ./configure again. If it is ever called again it must
be called with exactly the same options as were originally used so
whatever was installed can be correctly cleaned up.
Uninstall:
make samples-uninstall #if samples installed
make uninstall
Clean up:
make clean
make distclean
===============================================================================
Full list of Configuration options
==================================
Typical examples of how to update configuration options are as follows:
./configure ICP_ANY_FLAG=value or
./configure --enable-something
If it is required to use more than one flag at once:
./configure ICP_ANY_PATH=path ICP_ANY_NAME=name --enable-something
Features flags:
Enables or disables the additional features supported by 4xxx package
--disable-option-checking
Ignores unrecognized configure options when run along with it.
--disable-FEATURE
Does not include FEATURE (same as --enable-FEATURE=no).
--enable-FEATURE[=ARG]
Includes FEATURE [ARG=yes].
--enable-silent-rules
Less verbose build output (undo: "make V=1").
--disable-silent-rules
Verbose build output (undo: "make V=0").
--enable-maintainer-mode
Enables make rules and dependencies not useful (and
sometimes confusing) to the casual installer.
--enable-dependency-tracking
Does not reject slow dependency extractors.
--disable-dependency-tracking
Speeds up one-time build
--enable-icp-debug
Enables debugging.
--disable-param-check
Disables parameters checking in the top-level APIs
(Use for performance optimization).
--disable-stats
Disables statistic collection (Use for performance optimization).
--enable-icp-log-syslog
Enables debugging messages to be outputted to the
system log instead of standard output.
--enable-icp-trace
Enables tracing for the Cryptography API.
--enable-dc-error-simulation
Enables Data Compression Error Simulation.
--enable-legacy-lib-names
Enables legacy names for libraries.
--enable-legacy-algorithms
Enable deprecated legacy crypto algorithms. See the README.md for the
list of algorithms which are deprecated by default.
MAX_MR
Number of Miller Rabin rounds for prime operations. Setting this
to a smaller value reduces the memory usage required by the
driver.
Type: value
Default value: 50
===============================================================================
Common issues
=============
Issue: On running sample code:
qaeMemInit started
ADF_UIO_PROXY err: icp_adf_userProcessToStart: Failed to start SSL...
Likely cause: (1) No PF driver available. Check that PFs are available and
loaded:
See "Check System Prerequisites" section of this document.
(2) No VFs available. Check VFs are available and driver is loaded:
See "Check System Prerequisites" section of this document.
Issue: "Could not open corpus file: /usr/local/share/qat/calgary"
seen when running compression sample code.
Likely cause: sample code data files not installed at the expected location
Run: make samples-install
===============================================================================
Legal/Disclaimers
===================
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL(R) PRODUCTS.
NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL
PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S
TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY
WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO
SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING
TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY
PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are
not intended for use in medical, life saving, life sustaining, critical control
or safety systems, or in nuclear facility applications.
Intel may make changes to specifications and product descriptions at any time,
without notice.
(C) Intel Corporation 2026
===============================================================================