鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

HPCKit介绍

HPCKit集成鲲鹏数学库(KML)、华为高性能通信库(Hyper MPI)、鲲鹏统一并行加速库(KUPL)、Hyper IO库和领域加速库等用于提高高性能计算软件性能的组件,是一款帮助用户自动化部署高性能计算相关依赖软件的软件包。

领域加速库是针对特定高性能计算场景(如计算光刻、量子色动力学、石油勘探、人工智能等)在鲲鹏平台上深度优化的加速库。它们利用鲲鹏处理器架构特性,通过指令级优化、算法重构和并行加速等手段,显著提升相应领域应用的运行效率。

当前HPCKit包含的组件列表如下。

表1 HPCKit集成的组件列表

组件名称

说明

是否默认安装

鲲鹏统一并行加速库(KUPL)

鲲鹏统一并行加速库(Kunpeng Unified Parallel Library,以下简称KUPL)提供了基于鲲鹏平台优化的并行加速基础库函数,所有接口由C/C++、汇编语言实现。

鲲鹏数学库(KML)

鲲鹏数学库(Kunpeng Math Library,以下简称KML)提供了基于鲲鹏平台优化的高性能数学函数,所有接口由C/C++、汇编语言实现,部分接口兼容Fortran语言调用,部分提供Java语言封装的接口。HPCKit包含了完整的Lapack、ScaLapack和fftw等适配层。

华为高性能通信库(HMPI)

华为高性能通信库(Hyper MPI,以下简称HMPI)实现了并行计算的网络通信功能,可以用来支持制造、气象、分子动力学等应用场景。HPCKit包含了完整的MPI通信库。

Hyper IO库

Hyper IO库(以下简称HIO)是一类提供系统软件和应用软件之间连接的软件,提供科学数据的存储描述格式定义和文件操作,在高性能计算应用以及大量后处理、可视化及分析框架中广泛应用。

KuLitho库

KuLitho是基于鲲鹏平台深度优化的计算光刻加速库,采用C/C++及汇编语言实现,针对图像处理、图形运算及数学计算等核心功能进行指令级优化,显著提升OPC(光学邻近校正)等场景的端到端仿真性能,为EDA提供高性能领域加速库。

KuQCD库

KuQCD是基于鲲鹏平台的格点量子色动力学加速库,采用C/C++实现,针对求解器等功能进行优化,并提供相应接口用于应用中。目前KuQCD仅支持在鲲鹏920新型号上使用,依赖KUPL,支持毕昇编译器和gcc编译器。

KuRTM库

KuRTM是基于鲲鹏平台的勘探加速库,采用C语言实现。利用鲲鹏920新型号矩阵及向量化能力,针对1D、2D、3D stencil算子进行优化。目前KuRTM仅支持在鲲鹏920新型号上使用,支持毕昇编译器和gcc编译器。

KuDNN库

KuDNN是基于鲲鹏平台的深度神经网络算子库,结合鲲鹏CPU微架构特性与软优化手段,优化AI算子性能。通过插件的形式集成PyTorch等AI框架。

KuTACC库

KuTACC是基于鲲鹏平台的Transformer模型融合算子库,采用C/C++实现,针对AI算子各层核心算子进行优化,并提供相应接口用于在应用中直接调用,为AI应用提供高效算力支撑。目前KuTACC基于毕昇编译器和libc++标准库实现,对gcc编译器和stdlibc++暂未支持。

毕昇编译器

毕昇编译器是华为编译器实验室针对鲲鹏通用处理器架构构建,增强和引入了多种编译优化技术,致力于打造高性能、高可信及易扩展的编译器工具链。

GCC for openEuler

GCC for openEuler是基于开源GCC开发的编译器工具链(包含编译器、汇编器、链接器),在openEuler社区开源发布。