METIS-一种图切分的软件包(简介)

METIS是由Karypis Lab开发的一个具有强大功能的图切分软件包。准确来说,METIS是一个串行图切分的软件包,Karypis Lab还提供了并行版的图切分软件包parMETIS和支持超图和电路划分的hMETIS。METIS的算法设计主要基于多层次递归二分切分法、多层次K路切分法以及多约束划分机制。用户使用METIS软件包时,可以根据需要选择相应的切分方式。


METIS主要的特性如下。首先,METIS具有高质量的划分结果,据称比通常的谱聚类(spectral clustering)要精确10%-50%。其中Chaco支持谱聚类算法。其次,METIS执行效率非常高,比常见的划分算方法快1-2个数量级。百万级顶点的图几秒钟之内就可以切分为256个类。最后,METIS具有很低的注入元(fill-in ),从而降低了存储负载和计算量。


METIS的工作原理:以k路多层次划分为例。


整个划分过程分成coarsening, initial partitioning 和 uncoarsening (refinement) 三个部分。coarsening将图的大小逐渐缩小,G1->G2->G3-G4。在G4阶段执行K路划分,然后在uncoarsening阶段将图中的原始节点映射到G4划分的cluster中。


METIS的安装:用户需要到Karypis Lab的官网下载最新的METIS安装包,目前最新版本为METIS 5.1,然后解压软件包。需要保证系统上已经安装了C编译器和GNU make和C Make 2.8,根据操作系统的位数修改metis.h文件中的IDXTYPEWIDTH常量的值为32或者64,然后在metis底层文件下执行make指令,既可以完成安装。


METIS的使用:以gpmetis为例,其使用方法为 gpmetis [options] graphfile nparts。gpmetis是编译生成的可执行文件,[options]是执行gpmetis可选项,graphfile是将要划分的文件名,nparts是用户指定的划分的cluster的个数。用户通过配置options的-ptype参数可以指定gpmetis切分方式,-ptype = rb时,使用的是多层次递归二分切割算法,-ptype = kway时,使用的是多层次k路划分算法(默认值)。-ctype指定了coarsen操作时的策略,-ctype = rm时,随机匹配,-ctype = shem时使用SHEM(Sorted heavy-edge matching)方法进行匹配(默认值)。


METIS输入和输出文件的格式:输入文件格式如下图所示。


左图是无权重图,第一行是顶点个数和边的条数。除第一行之外,第 i 行表示 i-1 节点连接的顶点编号。比如第2行表示的是顶点1与5,3,2顶点之间有边直接相连。右图是有权图,第一行表示顶点个数和边的条数,以及format格式为带权重图。第 i 行表示 i-1 节点连接的顶点编号,紧跟边的权重值。


图划分输出文件格式非常简单,一共有n行(n个顶点的图),每行一个整数表示该节点所属cluster的编号。




metis-5.1.0安装包和manual手册 2 What is new in version 5.0 4 2.1 Changes in the command-line programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1 Migration issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Changes in the API routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.1 Migration issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 Overview of METIS 6 3.1 Partitioning a graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Alternate partitioning objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 Support for multi-phase and multi-physics computations . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4 Partitioning a mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.5 Partitioning for heterogeneous parallel computing architectures . . . . . . . . . . . . . . . . . . . . . 8 3.6 Computing a fill-reducing ordering of a sparse matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.7 Converting a mesh into a graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 METIS’ stand-alone programs 9 4.1 Input file formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1.1 Graph file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1.2 Mesh file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1.3 Target partition weights file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2 Output file formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2.1 Partition file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值