# KAE **Repository Path**: kunpengcompute/KAE ## Basic Information - **Project Name**: KAE - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: kae2 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 22 - **Forks**: 38 - **Created**: 2020-01-21 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 鲲鹏加速引擎(KAE)是基于鲲鹏处理器提供的硬件加速解决方案,包含了 KAE 加解密和 KAE 解压缩两个模块,分别用于加速 SSL/TLS 应用和数据压缩,可以显著降低处理器消耗,提高处理器效率。此外,加速引擎对应用层屏蔽了其内部实现细节,用户通过 OpenSSL、zlib标准接口即可以实现快速迁移现有业务。 # 版本说明 鲲鹏加速引擎(KAE)是一款基于鲲鹏 920 处理器研发的加速器。由于不同内核版本的差异,KAE 存在两套代码用于支持不同的内核代码,分别是 KAE1.0 和 KAE2.0 两套代码分支。其中,KAE1.0 适用于 4.19 内核;而 KAE2.0 适用于 5.X 内核(其中TOS适配了5.4内核版本)。 **表 1** KAE支持版本

内核版本[1]

设备形态

KAE 1.0

KAE 2.0

4.19

920/920X[2]

YES

NA

5.4

920/920X

NA

YES

5.10

920/920X

NA

YES

\[1\]由于不同版本内核接口可能存在差异,不同的操作系统使能KAE需要实际编译内核驱动验证是否匹配,若特定OS内核编译KAE驱动遇到接口报错,则说明驱动不兼容。 \[2\]KAE 1.0代码分支不支持920X机器,需要使用kae1\_for\_920X代码分支 # 环境部署 根据芯片款型及内核版本选择适合的KAE代码进行安装,安装前需要确定环境信息及安装license。 ## License安装 安装鲲鹏KAE加速引擎之前需要先安装相应的License,License安装成功之后,操作系统才能识别到加速器设备。 TaiShan K系列服务器硬件KAE加速引擎已默认开启,无需申请License。 920新型号后续更新BIOS可以免license使用,具体BIOS版本待发布再更新 具体License申请使用操作可参考《[华为服务器iBMC许可证 使用指导](https://gitee.com/link?target=https%3A%2F%2Fsupport.huawei.com%2Fenterprise%2Fzh%2Fmanagement-software%2Fibmc-pid-8060757%3Fcategory%3Doperation-maintenance)》。 通过lspci命令进行查看操作系统是否有加速器设备,如下所示。 ``` lspci | grep HPRE 79:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) b9:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) lspci | grep ZIP 75:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) b5:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) lspci | grep SEC 76:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) b6:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) ``` ## 软件包获取 基于硬件cpu款型及内核OS情况,选择正确的KAE版本后,再获取软件包,用于后续安装。 **表 1** 软件包获取列表

KAE版本

软件包类型

获取方式

KAE2.0(v2.x.x)

源码包

获取链接

RPM包

获取链接

KAE1.0(v1.x.x)

源码包

获取链接

RPM包

获取链接

DEB包

获取链接

注:历史版本软件包请通过Release获取。软件包名称使用OS命名,请根据实际使用的OS选择合适的软件包。例如:kae-1.3.12-1.centos7.6.aarch64.rar为KAE1.0适配CentOS 7.6的RPM安装包。

## KAE 2.0安装 KAE提供源码安装和RPM包安装两种方式,安装指南详见[《鲲鹏加速引擎用户指南》](https://www.hikunpeng.com/document/detail/zh/kunpengaccel/kae/usermanual/kunpengaccel_06_0007.html)。 # 快速上手 ## 查看KAEOpensslEngine加速引擎是否生效 以验证RSA性能为例,验证步骤请参见[测试同步RSA性能](https://www.hikunpeng.com/document/detail/zh/kunpengaccel/kae/usermanual/kunpengaccel_06_0019.html#ZH-CN_TOPIC_0000002327524289__section54081455216),通过RSA性能命令可以看到指定KAE引擎之后,RSA的性能得到明显提升。 除上述方法,在执行RSA性能命令过程中,可以在新的终端上同时查看hisi\_hpre设备的硬件队列资源情况如下,相同地,SM3/SM4算法可以查看hisi\_sec2的硬件队列消耗情况。 ``` cat /sys/class/uacce/hisi_hpre-*/available_instances ``` 您也可以通过以下命令每0.1秒刷新一次,实时查看hisi\_hpre的硬件队列消耗情况。 ``` watch -n 0.1 cat /sys/class/uacce/hisi_hpre-*/available_instances ``` 查看zlib加速压缩库是否安装成功 ``` ll /usr/local/kaezip/lib/ ``` 回显信息如下,表示安装成功 ``` lrwxrwxrwx. 1 root root 40 Aug 29 10:20 libkaezip.so -> /usr/local/kaezip/lib/libkaezip.so.2.0.0 lrwxrwxrwx. 1 root root 40 Aug 29 10:20 libkaezip.so.0 -> /usr/local/kaezip/lib/libkaezip.so.2.0.0 -rwxr-xr-x. 1 root root 148096 Aug 29 10:20 libkaezip.so.2.0.0 -rw-r--r--. 1 root root 145674 Aug 29 10:20 libz.alrwxrwxrwx. 1 root root 14 Aug 29 10:20 libz.so -> libz.so.1.2.11 lrwxrwxrwx. 1 root root 14 Aug 29 10:20 libz.so.1 -> libz.so.1.2.11 -rwxr-xr-x. 1 root root 144784 Aug 29 10:20 libz.so.1.2.11 drwxr-xr-x. 2 root root 4096 Aug 29 10:20 pkgconfig ``` ## 查看KAEZlib库加速引擎是否生效 过ldd命令查看KAEZlib加速库是否链接到libwd库。 ``` ldd /usr/local/kaezip/lib/libz.so.1.2.11 ``` 如果有如下返回信息,说明KAEZlib加速库安装成功。 ``` linux-vdso.so.1 (0x0000ffff89774000) libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff896b5000) libkaezip.so => /usr/local/kaezip/lib/libkaezip.so (0x0000ffffa60df000) libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff89684000) libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff894d5000) /lib/ld-linux-aarch64.so.1 (0x0000ffff89737000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff894b0000) ``` ## 查看KAEZstd库加速引擎是否生效 过ldd命令查看KAEZstd加速库是否链接到libwd库。 ``` ldd /usr/local/kaezstd/lib/libkaezstd.so ``` 如果有如下返回信息,说明KAEZstd加速库安装成功。 ``` linux-vdso.so.1 (0x0000ffff89774000) libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff896b5000) libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff89684000) libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff894d5000) /lib/ld-linux-aarch64.so.1 (0x0000ffff89737000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff894b0000) ``` ## 查看KAELz4库加速引擎是否生效 过ldd命令查看KAELz4加速库是否链接到libwd库。 ``` ldd /usr/local/kaezstd/lib/libkaelz4.so ``` 如果有如下返回信息,说明KAEZstd加速库安装成功。 ``` linux-vdso.so.1 (0x0000ffff89774000) libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff896b5000) libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff89684000) libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff894d5000) /lib/ld-linux-aarch64.so.1 (0x0000ffff89737000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff894b0000) ``` # 贡献指南 如果使用过程中有任何问题,或者需要反馈特性需求和bug报告,可以提交issues联系我们,具体贡献方法可参考[这里](https://gitcode.com/boostkit/community/blob/master/docs/contributor/contributing.md)。 # 免责声明 此代码仓计划参与OpenSSL/Tongsuo/BoringSSL/Lz4/Zlib/Gzip/Zstd软件开源,仅作OpenSSL/Tongsuo/BoringSSL/Lz4/Zlib/Gzip/Zstd功能扩展或性能提升,编码风格遵照原生开源软件,继承原生开源软件安全设计,不破坏原生开源软件设计及编码风格和方式,软件的任何漏洞与安全问题,均由相应的上游社区根据其漏洞和安全响应机制解决。请密切关注上游社区发布的通知和版本更新。鲲鹏计算社区对软件的漏洞及安全问题不承担任何责