鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

集群版

迁移步骤

通过适配层迁移

  1. 将#include "HYPRE.h"改为#include "HYPRE_kp.h",去除其余HYPRE相关头文件,若涉及ILU作为预条件子使用,需要去除HYPRE_ILUCreate、HYPRE_ILUDestroy和HYPRE_ILUSetMaxIter等相关预条件子创建及设置接口,BoomerAMG作为预条件子同理。
  2. 通过加载HPCkit相关环境变量,设置petsc的头文件路径和KML适配层动态库路径,环境变量的具体加载方式参见《Kunpeng HPCKit 25.2.0 安装指南》中“设置环境变量”章节,设置成功后重新编译应用
    mpicc program.c  -lHYPRE -lkscasolver -lkservice -lklapack_full -lkm -lm
表1 当前已适配接口

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