概述
本文指导用户如何将Intel MKL或一些常用的数学库迁移至鲲鹏数学库以发挥鲲鹏平台更优性能。
广义上的数学库是指提供高性能标量、矢量计算的数学函数接口库,常见的数学库有英特尔数学内核库,以下简称Intel MKL(Intel Math Kernel Library)及一些开源数学库。鲲鹏数学库,以下简称
本指南包含将Intel MKL中的一些数学库迁移至KML的步骤(请参见如何识别使用了Intel MKL),包括MKL的VML至
迁移前后的数学库映射关系如表1所示。
被迁移数学库 |
KML |
||
---|---|---|---|
名称 |
头文件 |
名称 |
头文件 |
icc-imf |
math.h或mathimf.h |
|
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 |
|
kspblas.h |
MKL-FFT |
mkl.h或mkl_dfti.h |
|
kfft.h |
MKL-LAPACK |
mkl.h或mkl_lapack.h |
|
klapack.h,kservice.h |
MKL-SOLVER |
mkl.h或mkl_rci.h |
|
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 |
|
kscalapack.h,klapack.h,kservice.h |