鲲鹏社区首页
中文
注册
BoostKit
数学库
暂无评分
我要评分
软件介绍

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

BoostKit版本号开发语言组件版本号资源获取文档
24.0.0 正式版本C2.5.0GCC版本人工验证签名下载自动验证签名下载查看文档
2.5.0毕昇版本人工验证签名下载自动验证签名下载
功能特性
  • 新增迭代求解器PCSI算法和Hybrid MG算法

  • KML FFT库支持local 线程设置功能

使用场景

子库介绍
KML_FFT 傅里叶变换
KML_FFT是快速傅里叶变换数学库,快速傅里叶变换(Fast Fourier Transform, FFT),是快速计算序列的离散傅里叶变换(DFT)或其逆变换的方法,广泛的应用于工程、科学和数学领域,将傅里叶变换计算需要的复杂度从O(n2)降到了O(n log n),被IEEE科学与工程计算期刊列入20世纪十大算法。KML_FFT基于鲲鹏架构,通过向量化、算法改进,对快速离散傅里叶变换进行了深度优化,使得快速傅里叶变换接口函数的性能有大幅度提升。
KML_FFT 傅里叶变换
KML_BLAS 基础线性代数
KML_BLAS是一个基础线性代数运算数学库,基于鲲鹏架构提供了三个层级的高性能向量运算:向量-向量运算、向量-矩阵运算和矩阵-矩阵运算,是计算机数值计算的基石,在制造、机器学习、大数据等领域应用广泛。KML_BLAS基于鲲鹏架构,通过向量化、数据预取、编译优化、数据重排等手段,对BLAS的计算效率进行了深度挖掘,使得BLAS接口函数的性能逼近理论峰值。KML_JAVA库提供部分JAVA语言封装适配的接口。
KML_BLAS 基础线性代数
KML_SPBLAS 稀疏基础线性代数
KML_SPBLAS是稀疏矩阵的基础线性代数运算库,基于鲲鹏架构为压缩格式的稀疏矩阵提供了高性能向量、矩阵运算。KML_SPBLAS基于鲲鹏架构,充分利用鲲鹏的指令集和架构特点,开发了高性能稀疏矩阵运算库,提升HPC和大数据解决方案业务性能。
KML_SPBLAS 稀疏基础线性代数
KML_MATH 基础数学函数库
KML_MATH是数学计算的基础库,主要实现基本的数学运算、三角函数、双曲函数、指数函数、对数函数等,广泛应用于科学计算,如气象、制造、化学等行业。KML_MATH通过周期函数规约、算法改进等手段,提供了基于鲲鹏处理器性能提升较大的函数实现。
KML_MATH 基础数学函数库
KML_VML 向量运算
KML_VML是向量运算数学库,主要实现基本的数学运算、三角函数、双曲函数、指数函数、对数函数等数学接口的向量化实现。KML_VML通过NEON指令优化、内联汇编等方法,对输入数据进行向量化处理,充分利用了鲲鹏架构下的寄存器特点,实现了在鲲鹏处理器上的性能提升。KML_JAVA库提供部分JAVA语言封装适配的接口。
KML_VML 向量运算
KML_LAPACK 线性代数运算
KML_LAPACK是线性代数运算库,提供线性方程组运算,包括方程组求解、特征值和奇异值问题求解等。KML_LAPACK通过分块、求解算法组合、多线程、BLAS接口优化等手段,基于鲲鹏架构对LAPACK的计算效率进行了优化,实现了在鲲鹏处理器上的性能提升。
KML_LAPACK 线性代数运算
KML_SVML 短向量运算
KML_SVML是短向量的数学运算,包括幂函数、三角函数、指数函数、双曲函数、对数函数等。KML_SVML通过Neon指令优化、内联汇编等方法,对输入向量进行批量处理,充分利用了鲲鹏架构下的寄存器特点,实现了在鲲鹏服务器上的性能提升。
KML_SVML 短向量运算
KML_SOLVER 稀疏求解器库
KML_SOLVER是稀疏求解器库(Sparse Solvers),提供直接求解器和迭代求解器,支持单节点多线程、集群MPI多进程。
KML_SOLVER 稀疏求解器库
KML_SCALAPACK 可扩展线性代数运算库
KML_SCALAPACK是可扩展线性代数运算库(Scalable Linear Algebra PACKage),通过分块、求解算法组合、多进程优化等手段,基于鲲鹏架构对SCALAPACK的计算效率进行了优化。
KML_SCALAPACK 可扩展线性代数运算库
KML_VSL 向量统计库
KML_VSL是向量统计库(Vector Statistical Library),包含多种随机数生成函数,可以生成服从不同分布的随机数。
KML_VSL 向量统计库
KML_NUMPY
KML_NUMPY库提供了40个适配KML或自行优化后的接口,优化的数据类型为FLOAT和DOUBLE,涵盖了基础运算、傅里叶变换、统计和线性代数四个部分。
KML_NUMPY
KML_EIGENSOLVER
特征值求解库(EigenSolver)提供大型矩阵的特征值迭代求解器,支持MPI多进程,支持用户自定义矩阵向量乘,支持用户自定义预条件。
KML_EIGENSOLVER
KML_IPL
插值库(Interpolate Library),包含多种常用的插值函数,用于数值分析。
KML_IPL

历史版本