系列四:DevKit开发框架插件工具之鲲鹏加速库
收藏回复举报
系列四:DevKit开发框架插件工具之鲲鹏加速库
发表于2022-11-30 21:55:40
0 查看

鲲鹏加速库

加速库是系统工程的方法之一 

IT系统中任何组件或模块都不是独立存在的,而是相互协同形成一个整体,而软件则在其中起到了巨大作用。 

比如: 

单核CPU时代,如果出现阻塞性任务,CPU就会处于等待阶段,CPU的算力就会被浪费,多线程技术利用时间片划分,将CPU的能力充分发挥,这是软件技术; 

  • 多核CPU时代,多线程如何充分利用多核,也得需要软件调度,方能有效运转; 
  • 多路CPU时代,则需要通过软件考虑CPU与内存的协同,有效利用多个CPU,内存等资源; 
  • 当然多线程也并不能充分发挥CPU的能力,还需要能够确保软件实现的代码,在CPU执行时,流水线真正流动起来

鲲鹏加速库-硬加速器KAE 

  • 代码开源社区化运作 
  • 内核念运行,安全防护能力强 
  • 底层适配openssl/zlib通用开源库,应用层使用简单

    cke_10557.png

鲲鹏加速库-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)间共享及同步数据(计算数据,状态数据),使计算集群高效完成共同的计算任务。 

特点:高性能、大规模、可伸缩、可移植。 

本帖最后由 匿名用户 于 2023/11/20 17:22:06 编辑

我要发帖子