---
title: 概述
description: "本文指导用户如何将Intel MKL或一些常用的数学库迁移至鲲鹏数学库以发挥鲲鹏平台更优性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/mg/kunpengaccel_12_0001.html
sourcePath: /source/zh/kunpenghpcs/hpckit/mg/kunpengaccel_12_0001.html
indexId: 04d672cb18e13ef576586bb3c0c34b4d986c6974e629aae536e77c74f1d1538658
---
# 概述

本文指导用户如何将Intel MKL或一些常用的数学库迁移至鲲鹏数学库以发挥鲲鹏平台更优性能。

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

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

本指南包含将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\_cblas.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 |
