Intel_AV-ICE06加速卡+QAT_Engine测试
Intel AV-ICE06加速卡测试报告
Intel RSA加速卡结合Intel其QAT_Engine测试性能的提升,其支持的异步模式对性能的提升很大。
注意QAT_Engine只支持openssl1.1.0以上
1 测试环境
硬件:H61
系统:2.6.32-64bits+gcc4.4.5
openssl:公版openssl1.1.1a
加速卡:Intel AV-ICE06(C62X系列)
2 准备工作
2.1 下载驱动及相关手册
2.2 下载QAT引擎
git clone https://github.com/01org/QAT_Engine.git
2.3 下载OpenSSL-1.1.1a
2.4 确保已安装这些软件包
apt-get update
apt-get install pciutils-dev
apt-get install g++
apt-get install pkg-config
apt-get install libssl-dev
3 编译gcc4.4.7(此步可以跳过,直接修改configure中gcc版本依赖为>=4.4.5)
3.1下载源码(要求gcc>=4.4.7)
- gcc下载地址:https://ftp.gnu.org/gnu/gcc/gcc-4.4.7
- gmp下载地址:https://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
- mpc下载地址:https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
- mpfr下载地址:https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
3.2 安装gmp-4.3.2
tar jxvf gmp-4.3.2.tar.bz2
cd gmp-4.3.2
mkdir build && cd build
../configure --prefix=/usr/local/gmp-4.3.2
make
make install
3.3 安装mpfr-3.1.4
tar -jzvf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
mkdir build && cd build
../configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-4.3.2
make
make install
3.4 安装mpc-1.0.3
tar -zxvf mpc-1.0.3.tar.gz
mkdir build && cd build
../configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-3.1.4
make
make install
3.5 安装gcc-4.4.7
tar -zxvf gcc-4.4.7.tar.gz
cd gcc-4.4.7
mkdir build && cd build
../configure --prefix=/usr/local/gcc-4.4.7 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3
make
make install
4 intel加速卡驱动编译
4.1 编译驱动
mkdir QAT && cd QAT
tar -zxvf qat1.7.l.4.4.0-00023.tar.gz
./configure
make qat-driver-install
4.2 驱动编译过程碰到的问题
问题1:pci_pcie_cap函数重定义
解决方法:
删除 /home/ssl/QAT/quickassist/qat/compat/qat_compat.h第107开始的pci_pcie_cap函数
问题2:内核不存在usleep_range函数定义
解决方法:
../quickassist/qat/drivers/crypto/qat/qat_common/adf_clock.c:152
../quickassist/qat/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c:165
../quickassist/qat/drivers/crypto/qat/qat_common/adf_admin.c:166
以上3处替换为udelay函数
问题3:内核不支持使用MD5进行预计算
没有/usr/src/linux-headers-2.6.32-5-amd64-hz1000/include/crypto/md5.h文件
解决方法:
将 /home/ssl/QAT/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c 88行if内的部分注释掉,改成跟else一样。
或者直接将内核版本判断改成2.6.33,其余几个地方也是一样
4.3 拷贝整个QAT目录及驱动至产品机
- 将QAT整个目录拷贝至产品机
- 将/lib/modules/2.6.32-5-amd64-hz1000/updates/整个目录下和/lib/modules/2.6.32-5-amd64-hz1000/kernel/drivers/下的qat_api.ko和usdm_drv.ko拷贝至产品机对应目录下
4.4 intel_qat依赖uio.ko,需要从开发机中拷过去
驱动位于/lib/modules/2.6.32-5-amd64-hz1000/kernel/drivers/uio
4.5 产品机上操作,进行剩余的安装,启动加速服务
cd QAT
make adf-ctl-install
make qat-service-install
4.6 如果纯手动操作,在编译完成之后需要
- 将动态库拷到/lib下
- 将adf_ctl拷到$ICP_ROOT/build和/usr/sbin
- 将配置文件拷贝/etc下
- 将firmware文件拷到/lib/firmware
- 将模块拷到内核源目录下,供qat_service加载
- 启动qat_service,加载合适的模块,并且运行adf_ctl打开设备
- 将qat_service加入启动脚本中
5 加速服务控制命令
service qat_service start
service qat_service stop //停止软件
service qat_service shutdown //停止软件并移除驱动
或者
/etc/init.d/qat_service start
/etc/init.d/qat_service stop //停止软件
/etc/init.d/qat_service shutdown //停止软件并移除驱动
6 安装sample应用(本部分不是必须)
- 编译安装
在QAT目录下, make samples-install
- 编译问题
6系列内核kernel_write函数是静态的,sample驱动中用到会找不到。直接注释掉即可,内核态测试才需要用到
cp /home/ssl/QAT/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary /lib/firmware
cp /home/ssl/QAT/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary32 /lib/firmware
cp /home/ssl/QAT/quickassist/lookaside/access_layer/src/sample_code/performance/compression/canterbury /lib/firmware
cp /home/ssl/QAT/build/cpa_sample_code /usr/local/bin/cpa_sample_code
cp /home/ssl/QAT/build/cpa_sample_code.ko /usr/local/bin/cpa_sample_code.ko
- 测试
在用户态,启动cpa_sample_code之前,确保LD_LIBRARY_PATH设置了libqat_s.so所在的路径
在执行sample代码前,必须已加载驱动且软件已经启动。可以用一下命令确认
lsmod | grep "qa"
service qat_service status
用户态下,执行sample代码:./cpa_sample_code
内核态下,执行sample代码: insmod ./cpa_sample_code.ko
7 编译OpenSSL-1.1.1a
./config --prefix=/usr/local/ssl -Wl,-rpath,\${LIBRPATH}
make depend (if recommended by the OpenSSL\* build system)
make
make install
export OPENSSL_ENGINES=/usr/local/ssl/lib/engines-1.1
8 QAT引擎编译
8.1 编译命令
要带Upstream QAT driver并且使用USDM组件
cd /QAT_Engine
./autogen.sh
./configure \
--with-qat_dir=/home/ssl/QAT \
--with-openssl_dir=/home/ssl/openssl-OpenSSL_1_1_1a \
--with-openssl_install_dir=/usr/local/ssl \
--enable-upstream_driver \
--enable-usdm
make
make install
8.2 碰到的问题
错误1:autoconf版本不够
解决:autoconf要求2.68以上,修改/QAT_Engine/ .tools/configure.ac第4行
错误2:configdata.pm not present in the @INC path
解决:export PERL5LIB=$PERL5LIB:/home/ssl/openssl-OpenSSL_1_1_1a
错误3:gcc未知的选项-fstack-protector-strong
解决:gcc4.9开始才支持此选项,可以改成-fstack-protector-all或者-fstack-protector
8.3 引擎测试
根据实际情况选择/QAT_Engine/qat/config/c6xx下配置拷贝到/etc
重启加速驱动
./openssl engine -t -c -vvvv qat #会打出qat引擎的相关信息
9 openssl speed测试命令
- RSA2048
# Software 纯软
./openssl speed -elapsed rsa2048
# Synchronous 同步
./openssl speed -engine qat -elapsed rsa2048
# Asynchronous1 异步
./openssl speed -engine qat -elapsed -async_jobs 36 rsa2048
# Asynchronous2 异步
./openssl speed -engine qat -elapsed -async_jobs 72 rsa2048
- ECDSA-P256
# Software 纯软
./openssl speed -elapsed ecdsap256
# Synchronous 同步
./openssl speed -engine qat -elapsed ecdsap256
# Asynchronous1 异步1
./openssl speed -engine qat -elapsed -async_jobs 36 ecdsap256
# Asynchronous2 异步2
./openssl speed -engine qat -elapsed -async_jobs 72 ecdsap256
- ECDH-P256
# Software 纯软
./openssl speed -elapsed ecdhp256
# Synchronous 同步
./openssl speed -engine qat -elapsed ecdhp256
# Asynchronous1 异步1
./openssl speed -engine qat -elapsed -async_jobs 36 ecdpp256
# Asynchronous2 异步2
./openssl speed -engine qat -elapsed -async_jobs 72 ecdpp256
10 测试结果
Intel_AV-ICE06加速卡+QAT_Engine测试的更多相关文章
- 基于Kintex Ultrasacle的万兆网络光纤 PCIe加速卡416 光纤PCIe卡
基于Kintex Ultrasacle的万兆网络光纤 PCIe加速卡 一.产品概述 本卡为企业级别板卡,可用于数据中心,安全领域数据采集处理.标准PCI Express全高板,适用于普通服务器.工作站 ...
- 410-基于XCVU9P+ C6678的40G光纤的加速卡
基于XCVU9P+ C6678的40G光纤的加速卡 一.板卡概述 二.处理板技术指标 • 板卡为自定义结构,板卡大小332mmx260mm; • FPGA采用Xilinx Virtex Ultra ...
- 1-基于Xilinx XCKU115的半高PCIe x8 硬件加速卡
基于Xilinx XCKU115的半高PCIe x8 硬件加速卡 一.概述 本板卡系我公司自主研发,采用Xilinx公司的XCKU115-3-FLVF1924-E芯片作为主处理器,主要用于FPGA硬件 ...
- Intel® QAT加速卡之加密、哈希操作流程和示例
Intel QAT 加密API介绍 文章主要讲述了Intel QAT 加密API接口的说明,以及多种应用场景下的使用方法. 文章目录 Intel QAT 加密API介绍 1. 概述 1.1 会话(se ...
- SuperEdge再添国产智能加速卡支持,为边缘智能推理再提速10倍
作者 寒武纪AE团队,腾讯云容器中心边缘计算团队,SuperEdge 开发者 SuperEdge 支持国产智能加速卡寒武纪 MLU220 SuperEdge 对应的商业产品 TKE Edge 也一直在 ...
- SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]
目录 SignalR系列目录 前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测与服务器的 ...
- Apache Ignite之集群应用测试
集群发现机制 在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单.而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试一下吧. 在Apache ...
- 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率
之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...
- TechEmpower 13轮测试中的ASP.NET Core性能测试
应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此.此外,糟糕的应用性能也会影响到用户体验,甚至会因此受到相关搜索引擎的降级处罚.在选择框架时, ...
随机推荐
- 实践作业4 Web测试(小组作业分配)
经过小组内的讨论之后,我们小组的工作分配如下: 张赛军.闫昊:阶段一,软件评测: 林俊旭:阶段二,用户调研: 张嘉焰:阶段三,得出结论: 许林龙:阶段四,分析: 王奎:阶段五,每日记录,并汇总整理小组 ...
- Springboot 定时任务,service层无法注入问题详细解决
开发一个微信小程序后台,建立websocket 长连接,需要后台开启定时任务, 定时任务定时查库,相应前台 但是具体执行过程中一直在报空指针错误,最后定位到service 为空,无法调用其相关的方法导 ...
- L3-015 球队“食物链” (30 分)
L3-015 球队“食物链” (30 分) 某国的足球联赛中有N支参赛球队,编号从1至N.联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场. 联赛战罢,结果已经尘埃落定.此时,联赛主席 ...
- shell 删除颜色代码
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
- homer进行motif分析 ChIP-seq
http://homer.salk.edu/homer/ [怪毛匠子-整理] 使用HOMER分析CLIP-SEQ数据 24 5 2月 2013 | 程序员 Tags: 生物信息学 · 软件 HOM ...
- 学习笔记--python中使用多进程、多线程加速文本预处理
一.任务描述 最近尝试自行构建skip-gram模型训练word2vec词向量表.其中有一步需要统计各词汇的出现频率,截取出现频率最高的10000个词汇进行保留,形成常用词词典.对于这个问题,我建立了 ...
- wordpress 暴力破解防范
一.author页面地址 author页面地址为 http://yoursite/?author=1 ID是自增的 请求这个地址会 301 到一个url,这个url里包含了作者的用户名.虽然不算漏洞, ...
- 完美解决win10家庭版本系统无法远程连接问题
版权声明:本文转载.原文: https://blog.csdn.net/rainmaple20186/article/details/80913191 近期接入同一局域网的服务器,发现在连接的时候,报 ...
- mysql 数据库导出与导入
1.数据库导出 语句:mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 1.导出整个数据库结构和数据 mysqldump -h localhost -uroot -p ...
- python 三种 安装包的方法
1.pycharm安装第三方库 然后点+搜索库安装. 注意 : 有时候点+会出现下图提示:Nothing to show,这就需要在点加号前点一下绿色圈圈的conda标志. 点+号出现下图的内容才是正 ...