学习METIS&ParMETIS用法:阅读手册和示例程序。
METIS主要API说明
API | 说明 | 备注 |
---|---|---|
METIS_PartGraphRecursive | 输入图数据(Graph Data),使用multilevel-recursive-bisection方法划分图数据 | 输入CSR格式(xadj,adjncy) |
METIS_PartGraphKway | 输入图数据(Graph Data),使用multilevel k-way方法划分图数据 | 输入CSR格式(xadj,adjncy). 对于比较大数目(partitions)划分,建议使用此种方法 |
METIS_PartMeshDual | 输入网格数据(FEM/FVM Mesh),根据网格对偶图进行划分 | 输入mesh格式(eptr,eind),比较适合FVM类型问题 |
METIS_PartMeshNodal | 输入网格数据(FEM/FVM Mesh),根据网格节点图进行划分 | 输入mesh格式(eptr,eind),比较适合FEM类型问题 |
METIS_NodeND | 使用multilevel-nested-dissection算法,计算稀疏矩阵的fill-reducing-ordering 行列交换重排序 | 输入CSR压缩格式 |
ParMETIS主要API函数说明
使用情况
PETSc中使用METIS对稀疏矩阵进行Ordering和Partition; OpenFOAM用METIS对计算区域进行并行划分(decomposePar); SuperLU_dist和MUMPS求解器在进行LU分解之前,会用METIS对稀疏矩阵的列进行重排序(Pc)