中文
注册

介绍

应用开发工具支持创建鲲鹏应用工程,支持C/C++开发语言,编码时能够自动匹配鲲鹏加速库函数字典、智能提示、高亮、联想字典中可以替换的库和函数。支持以下功能特性:

  • 鲲鹏应用工程:只需要在创建鲲鹏应用工程页面进行简单的输入和选择,便可以实现自动化构建鲲鹏应用工程;包括空工程、通用计算应用工程、 安全计算 应用工程、 高性能计算 应用工程和 DPAK 应用工程。
  • 字典管理:支持加速库函数字典管理,可线上(自动)和线下更新。
  • 编程辅助:支持鲲鹏加速库函数的悬浮提示、函数搜索,支持Coding时自动联想和高亮鲲鹏加速库优化后的相关函数。

目前,应用开发工具还支持以下加速库和高性能开源组件:

表1 支持的加速库

类别

名称

说明

系统库

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自研功能模块,在 OVS (Open vSwith)软件内部实现了一个智能卸载引擎模块,该模块用于跟踪数据报文在OVS软件中所经历的所有流表和CT表,将执行的CT行为和所有流表行为项进行综合编排成一条综合行为项并结合统一匹配项生成一条集成流表项。

DPDK

DPDK全称Data Plane Develop,Development Kit,为用户空间高效的数据包处理提供数据平面开发工具集,包括库函数和驱动。

表2 支持的高性能开源组件

类别

名称

说明

HPC

Hyper MPI

Hyper MPI是整个高性能计算解决方案的关键组件,它实现了并行计算的网络通讯功能,可以用来支持制造、气象等应用场景,同时该通信库也可扩展应用于AI、大数据等通用领域。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词