概述
本文指导用户如何将Intel MKL或一些常用的数学库迁移至鲲鹏数学库以发挥鲲鹏平台更优性能。
广义上的数学库是指提供高性能标量、矢量计算的数学函数接口库,常见的数学库有英特尔数学内核库(Intel Math Kernel Library,以下简称Intel MKL)及一些开源数学库。鲲鹏数学库(Kunpeng Math Library,以下简称
本指南包含将Intel MKL中的一些数学库迁移至KML的步骤(请参见Intel MKL迁移到KML),包括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 |