---
title: 概述
description: "HPCKit组件中，仅数学库涉及迁移。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_12_0001.html
sourcePath: /source/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_12_0001.html
indexId: 18cb7e27ebf2a3dc8d072b1dc41a40a2da20b237d29f9d8f7992af9325a9cfa267
---
# 概述

HPCKit组件中，仅数学库涉及迁移。

广义上的数学库是指提供高性能标量、矢量计算的数学函数接口库，常见的数学库有英特尔数学内核库，以下简称Intel MKL（Intel Math Kernel Library）及一些开源数学库。鲲鹏数学库，以下简称 KML （Kunpeng Math Library）提供了基于鲲鹏平台优化的高性能数学函数。当用户将使用数学库函数的应用程序迁移到鲲鹏计算平台时，由于不同计算平台或不同数学库的函数定义差别，需要对程序重新适配开发。针对该问题，HPCKit提供了HPCKit迁移指南。KML提供了鲲鹏数学库迁移指南。

本指南包含将Intel MKL中的一些数学库迁移至KML的步骤（请参见如何识别使用了Intel MKL），包括MKL的VML至KML_VML，MKL的BLAS至KML_BLAS等，同时也包含一些常用数学库迁移至KML的步骤（请参见可替换性）。通过迁移，用户可以在鲲鹏计算平台获得比一般开源数学库更优的计算性能。

迁移前后的数学库映射关系如表1所示。


**表1 迁移前后的数学库映射关系**

| 被迁移数学库 | 被迁移数学库 | KML | KML |
| --- | --- | --- | --- |
| 名称 | 头文件 | 名称 | 头文件 |
| icc\-imf | math.h或mathimf.h | KML\_MATH | km.h |
| MKL\-VML | mkl.h或mkl\_vml.h | KML\_VML | kvml.h |
| MKL\-BLAS | mkl.h或mkl\_blas.h | KML\_BLAS | kblas.h |
| MKL\-SPBLAS | mkl.h或mkl\_spblas.h | KML\_SPBLAS | kspblas.h |
| MKL\-FFT | mkl.h或mkl\_dfti.h | KML\_FFT | kfft.h |
| MKL\-LAPACK | mkl.h或mkl\_lapack.h | KML\_LAPACK | klapack.h，kservice.h |
| MKL\-SOLVER | mkl.h或mkl\_rci.h | KML\_SOLVER （迭代法） | kml\_iss.h |
| MKL\-PARDISO或PARDISO\-cluster | mkl\_pardiso.h或mkl\_cluster\_sparse\_solver.h | KML\_SOLVER（直接法） | kml\_scadss.h |
| PETSc | petscksp.h | KML\_SOLVER（迭代法） | kml\_iss.h/kml\_scaiss.h |
| MUMPs | dmumps\_c.h，smumps\_c.h，cmumps\_c.h或zmumps\_c.h | KML\_SOLVER（直接法） | kml\_scadss.h |
| OpenBLAS | cblas.h | KML\_BLAS | kblas.h |
| FFTW | fftw3.h | KML\_FFT | kfft.h |
| MKL\-SCALAPACK | mkl.h或mkl\_scalapack.h | KML\_SCALAPACK | kscalapack.h，klapack.h，kservice.h |
