鲲鹏加速库
加速库是系统工程的方法之一
IT系统中任何组件或模块都不是独立存在的,而是相互协同形成一个整体,而软件则在其中起到了巨大作用。
比如:
单核CPU时代,如果出现阻塞性任务,CPU就会处于等待阶段,CPU的算力就会被浪费,多线程技术利用时间片划分,将CPU的能力充分发挥,这是软件技术;
- 多核CPU时代,多线程如何充分利用多核,也得需要软件调度,方能有效运转;
- 多路CPU时代,则需要通过软件考虑CPU与内存的协同,有效利用多个CPU,内存等资源;
- 当然多线程也并不能充分发挥CPU的能力,还需要能够确保软件实现的代码,在CPU执行时,流水线真正流动起来
鲲鹏加速库-硬加速器KAE
- 代码开源社区化运作
- 内核念运行,安全防护能力强
- 底层适配openssl/zlib通用开源库,应用层使用简单

鲲鹏加速库-Hyperscan
一款高性能的正则表达式匹配库,大量高效算法及SIMD指令的使用实现了高性能匹配
- 基于官网5.2.0版本优化,使用ARM Neon指令加速
- 使用数据预取、分支预测、结构重排及循环展开等多种优化手段实现加速
鲲鹏加速库-媒体加速库(HMPP)
华为自研高性能媒体性能原语库设计规划共约有1700个函数,目前完成1000+个函数接口开发
包括以下方面:
- 实现了内存操作与数据校准的功能,内存操作包含拷贝、初始化等函数;
- 实现了向量的运算操作,包括算术、转换、统计和窗运算等提供向量的中值滤波功能
- 实现固定向量精度功能,包括求向量元素常次方功能
- 实现信号的快速傅里叶变换等
鲲鹏加速库-媒体加速库(HW265)
- 用于编码符合高效率视频编码(HEVC/H.265)标准的影片的开源自由软件及函数库
- 保持x265上层接口、功能规格不变的情况,提升视频编码速度,不改变原来各个软件层的框架与逻辑
- 使用arm v8的Neon矢量汇编指令,对×265的底层算子进行优化,提高整体性能
- 优化X265转码核心算子,平均性能提升13%+
- ·代码开源,已回馈开源社区
鲲鹏加速库-压缩库(Snappy/ZSTD/GZIP)
Snappy:Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库
ZSTD:FaceBook开源到压缩库,同时兼顾压缩比、性能compress的压缩库,压缩比领先传统的deflate算法
gzip:基础压缩软件,用于文件的无损压缩,基于
deflate:算法实现
- 使用鲲鹏920的CRC以及预取指令,实现压缩和解压的性能提升
- 保持snappy/ZSTD/gzip已有接口、功能规格不变的情况,提升压缩和解压速度,不会影响各个level的压缩及解压结果
鲲鹏加速库-Glibc
c运行库,是linux系统中最底层、最基础的软件库,其它任何运行库几乎都会依赖于glibc
- 对内存、字符串等接口基于华为鲲鹏920处理器微架构特点进行了加速优化,充分利用鲲鹏Neon指令优势提高算力
- 优化的接口已合入gnu社区,随glibc2.31主干版本发布,同时openEuler1.0已收编
- 基于主流OS集成的glibc2.17发布补丁,接口平均性能提升35+%
HPC定义
HPC是高性能计算(High Performance Computing)
- HPC是计算机科学的一个分支,通过生群架构,并行算法和相关软件以并行计算/分布式计算的方式实现单合计算机无法达到的运算速度(每秒万亿次以上)。
- HPC是一套软、硬件协同工作的系统,典型的架构包括基础设施、计算节点、存储及文件系统、网络交换、集群管理、资源调度等。
MPI介绍
Message Passing Intertace(Specitication),消息通讯接口规范。
概念:MP标准定义的一组具有可移植性的并行技术编程接口,以及相关协议和语义规范。
场景:并行计算,通过在不同进程(intra&inter)间共享及同步数据(计算数据,状态数据),使计算集群高效完成共同的计算任务。
特点:高性能、大规模、可伸缩、可移植。
鲲鹏加速库
加速库是系统工程的方法之一
IT系统中任何组件或模块都不是独立存在的,而是相互协同形成一个整体,而软件则在其中起到了巨大作用。
比如:
单核CPU时代,如果出现阻塞性任务,CPU就会处于等待阶段,CPU的算力就会被浪费,多线程技术利用时间片划分,将CPU的能力充分发挥,这是软件技术;
鲲鹏加速库-硬加速器KAE
鲲鹏加速库-Hyperscan
一款高性能的正则表达式匹配库,大量高效算法及SIMD指令的使用实现了高性能匹配
鲲鹏加速库-媒体加速库(HMPP)
华为自研高性能媒体性能原语库设计规划共约有1700个函数,目前完成1000+个函数接口开发
包括以下方面:
鲲鹏加速库-媒体加速库(HW265)
鲲鹏加速库-压缩库(Snappy/ZSTD/GZIP)
Snappy:Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库
ZSTD:FaceBook开源到压缩库,同时兼顾压缩比、性能compress的压缩库,压缩比领先传统的deflate算法
gzip:基础压缩软件,用于文件的无损压缩,基于
deflate:算法实现
鲲鹏加速库-Glibc
c运行库,是linux系统中最底层、最基础的软件库,其它任何运行库几乎都会依赖于glibc
HPC定义
HPC是高性能计算(High Performance Computing)
MPI介绍
Message Passing Intertace(Specitication),消息通讯接口规范。
概念:MP标准定义的一组具有可移植性的并行技术编程接口,以及相关协议和语义规范。
场景:并行计算,通过在不同进程(intra&inter)间共享及同步数据(计算数据,状态数据),使计算集群高效完成共同的计算任务。
特点:高性能、大规模、可伸缩、可移植。