介绍
应用开发工具支持创建鲲鹏应用工程,支持C/C++开发语言,编码时能够自动匹配鲲鹏加速库函数字典、智能提示、高亮、联想字典中可以替换的库和函数。支持以下功能特性:
- 鲲鹏应用工程:只需要在创建鲲鹏应用工程页面进行简单的输入和选择,便可以实现自动化构建鲲鹏应用工程;包括空工程、通用计算应用工程、
安全计算 应用工程、高性能计算 应用工程、DPAK 应用工程和数据IO应用工程。 - 字典管理:支持加速库函数字典管理,可线上(自动)和线下更新。
- 编程辅助:支持鲲鹏加速库函数的悬浮提示、函数搜索,支持Coding时自动联想和高亮鲲鹏加速库优化后的相关函数。
目前,应用开发工具还支持以下加速库和高性能开源组件:
类别 |
名称 |
说明 |
---|---|---|
系统库 |
Glibc-patch |
Glibc-patch主要对内存、字符串、锁等接口基于华为鲲鹏920处理器微架构特点进行了加速优化。 |
Hyperscan |
Hyperscan基于鲲鹏微架构优势,使用鲲鹏指令加速正则表达式的编译、扫描性能。 |
|
AVX2KI |
AVX2KI是一款接口集合库,将传统平台的Intrinsic接口集合使用鲲鹏指令重新实现,并封装为独立的接口模块(C语言头文件方式),以减少大量迁移项目重复开发的工作量。 |
|
压缩 |
Gzip |
基于Gzip-1.10,通过数据预取、循环展开、CRC指令替换等方法,来提升其在鲲鹏计算平台上的压缩和解压缩速率,尤其对文本类型文件的压缩及解压具有更明显的性能优势。 |
ZSTD |
Zstandard,即ZSTD压缩库,基于ZSTD-1.4.4,通过使用NEON指令、内联汇编、代码结构调整、内存预取、指令流水线排布优化等方法,实现ZSTD在鲲鹏计算平台上压缩和解压性能的提升。 |
|
Snappy |
基于Snappy-1.1.7,利用内联汇编、宽位指令、优化CPU流水线、内存预取等方法,实现Snappy在鲲鹏计算平台上的压缩和解压速率提升。 |
|
KAEzip |
KAEzip是鲲鹏加速引擎的压缩模块,使用鲲鹏硬加速模块实现deflate算法,结合无损用户态驱动框架,提供高性能gzip/zlib格式压缩接口。 |
|
加解密 |
KAE加解密 |
使用鲲鹏硬加速模块实现RSA/SM3/SM4/DH/MD5/AES算法,结合无损用户态驱动框架,提供高性能对称加解密、非对称加解密算法能力,兼容OpenSSL1.1.1a及其之后版本,支持同步&异步机制。 |
媒体 |
x265 |
使用鲲鹏加速指令对X265开源库的转码核心代码进行重构,在保证原有接口及算法不变情况下,在鲲鹏平台下能获得较好的转码性能。针对FFmgeg视频转码场景,对X265的转码底层算子使用鲲鹏向量化指令进行加速优化,提高转码性能。 |
HMPP |
鲲鹏超媒体性能库HMPP(Hyper Media Performance Primitives)包括向量缓冲区的分配与释放、向量初始化、向量数学运算与统计学运算、向量采样与向量变换、滤波函数、变换函数(快速傅里叶变换),支持IEEE 754浮点数运算标准,支持在鲲鹏平台下使用。 |
|
x264 |
X264是采用GPL授权的视频编码免费软件,主要功能是实现H.264/MPEG-4 AVC的视频编码。 |
|
数学库 |
KML_FFT |
KML_FFT基于鲲鹏架构,通过向量化、算法改进,对快速傅里叶变换进行了深度优化,使得快速傅里叶变换接口函数的性能有大幅度提升。 |
KML_BLAS |
KML_BLAS基于鲲鹏架构,通过向量化、数据预取、编译优化、数据重排等手段,对BLAS的计算效率进行了深度挖掘,使得BLAS接口函数的性能逼近理论峰值。 |
|
KML_SPBLAS |
KML_SPBLAS基于鲲鹏架构,充分利用鲲鹏的指令集和架构特点,开发了高性能稀疏矩阵运算库,提升HPC和大数据解决方案业务性能。 |
|
KML_MATH |
KML_MATH通过周期函数规约、算法改进等手段,提供了基于鲲鹏处理器性能提升较大的函数实现。 |
|
KML_VML |
KML_VML通过NEON指令优化、内联汇编等方法,对输入数据进行向量化处理,充分利用了鲲鹏架构下的寄存器特点,实现了在鲲鹏处理器上的性能提升。 |
|
KML_LAPACK |
KML_LAPACK通过分块、求解算法组合、多线程、BLAS接口优化等手段,基于鲲鹏架构对LAPACK的计算效率进行了优化,实现了在鲲鹏处理器上的性能提升。 |
|
KML_SVML |
KML_SVML通过NEON指令优化、内联汇编等方法,对输入向量进行批量处理,充分利用了鲲鹏架构下的寄存器特点,实现了在鲲鹏服务器上的性能提升。 |
|
KML_SOLVER |
KML_SOLVER是稀疏求解器库(Sparse Solvers),提供直接求解器和迭代求解器,支持单节点多线程、集群MPI多进程。 |
|
存储 |
Smart Prefetch |
Smart Prefetch(智能预取),创新性地采用高速缓存盘配合高效的预取算法,提升系统存储IO性能,进而提升上述解决方案中存储IO密集型场景的整体性能。 |
SPDK |
SPDK全称Storage Performance Development Kit(高性能存储开发包),SPDK的目标是通过使用网络技术、处理技术和存储技术来提升效率和性能。通过运行为硬件设计的软件,SPDK已经证明很容易达到每秒钟数百万次IO读取,通过使用多处理器核心和多NVMe驱动进行存储,而不需要额外卸载硬件。 |
|
ISAL |
ISA-L全称Intelligent Storage Acceleration Library,是提供RAID、纠错码、循环冗余检查、密码散列和压缩的高度优化的函数。 |
|
网络 |
XPF |
XPF(Extensible Packet Framework)加速库是鲲鹏自研加速库,XPF自研功能模块,在 |
DPDK |
DPDK全称Data Plane Develop,Development Kit,为用户空间高效的数据包处理提供数据平面开发工具集,包括库函数和驱动。 |
类别 |
名称 |
说明 |
---|---|---|
HPC |
|
Hyper MPI是整个高性能计算解决方案的关键组件,它实现了并行计算的网络通讯功能,可以用来支持制造、气象等应用场景,同时该通信库也可扩展应用于AI、大数据等通用领域。 |