集群版
迁移步骤
通过适配层迁移
- 将#include "HYPRE.h"改为#include "HYPRE_kp.h",去除其余HYPRE相关头文件,若涉及ILU作为预条件子使用,需要去除HYPRE_ILUCreate、HYPRE_ILUDestroy和HYPRE_ILUSetMaxIter等相关预条件子创建及设置接口,BoomerAMG作为预条件子同理。
- 通过加载HPCkit相关环境变量,设置petsc的头文件路径和KML适配层动态库路径,环境变量的具体加载方式参见《Kunpeng HPCKit 25.2.0 安装指南》中“设置环境变量”章节,设置成功后重新编译应用
mpicc program.c -lHYPRE -lkscasolver -lkservice -lklapack_full -lkm -lm
HYPRE接口 |
|---|
HYPRE_Init |
HYPRE_IJMatrixCreate |
HYPRE_IJMatrixSetObjectType |
HYPRE_IJMatrixInitialize |
HYPRE_IJMatrixSetValues |
HYPRE_IJMatrixAssemble |
HYPRE_IJMatrixGetObject |
HYPRE_IJVectorCreate |
HYPRE_IJVectorSetObjectType |
HYPRE_IJVectorInitialize |
HYPRE_IJVectorSetValues |
HYPRE_IJVectorAssemble |
HYPRE_IJVectorGetObject |
HYPRE_ParCSRBiCGSTABCreate |
HYPRE_ParCSRBiCGSTABSetTol |
HYPRE_ParCSRBiCGSTABSetMaxIter |
HYPRE_ParCSRBiCGSTABSetup |
HYPRE_ParCSRBiCGSTABSolve |
HYPRE_ParCSRBiCGSTABGetNumIterations |
HYPRE_ParCSRBiCGSTABGetFinalRelativeResidualNorm |
HYPRE_ParCSRBiCGSTABDestroy |
HYPRE_ParCSRBiCGSTABSetPrecond |
HYPRE_ParCSRGMRESCreate |
HYPRE_ParCSRGMRESSetTol |
HYPRE_ParCSRGMRESSetMaxIter |
HYPRE_ParCSRGMRESSetup |
HYPRE_ParCSRGMRESSolve |
HYPRE_ParCSRGMRESGetNumIterations |
HYPRE_ParCSRGMRESGetFinalRelativeResidualNorm |
HYPRE_ParCSRGMRESDestroy |
HYPRE_ParCSRGMRESSetPrecond |
HYPRE_IJMatrixDestroy |
HYPRE_IJVectorDestroy |
HYPRE_Finalize |