ParMETIS 安装与使用

本机环境:

(1) Ubuntu 12.04.3   (2) 64位 (3) 已安装 libopenmpi-devopenmpi-bin

本人QQ530422429,欢迎大家交流、指导。

安装步骤如下:

   1. 在官网下载Parmetis,此处下载的是 parmetis-4.0.3.tar.gz

下载地址: http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz

   2.  解压,得到 parmetis-4.0.3文件夹,存放路径:/home/gougou/GraphPartition/。命令如下:

gunzip parmetis-4.0.3.tar.gz

tar -xvf parmetis-4.0.3.tar

   3. 进入 parmetis-4.0.3 目录,由于本机是64位,故要修改metis/include/metis.h 文件,

       把 IDXTYPEWIDTH  的值修改为 64。

 #define IDXTYPEWIDTH 64  (默认是32,修改为64)

   4. 安装此软件需要 GNU make and CMake 2.8 ,因此需要安装 CMake。安装CMake前需要安装g++。

$ sudo apt-get install g++

$ sudo apt-get install cmake

   5. 进行build。

$ make config

    6. 编译

$ make

    7. 安装,成功后如下图所示。

$ sudo make install

注:执行上述命令务必使用sudo,否则会报如下错误。


    7. 默认的安装目录在 /usr/local下,进入 /usr/local/bin,命令 $ ls后,结果如下:


    8. 添加环境变量 (默认PATH中已有/usr/local/bin,用echo $PATH 查看,确认后跳过此步骤):

$ vi /etc/profile 

export PATH=$PATH:/usr/local/bin 

使用步骤如下:

    1.  查看parmetis命令的用法,如下:


分析和实验知:<graph-file>为输入文件,邻接表形式存储,具体可参考metis的输入格式要求。

nparts为分区的数目;dbglvl为debug的级别,不同级别会显示不同的输出信息;seed的大小会影响分区效果。

其他参数未知,欢迎大家在博客下面留言指导!

      2. 单机上运行parmetis命令,由于parmetis是根据mpi进行并行图划分,故命令应如下:

mpiexec -n 2 parmetis /home/gougou/GraphPartition/parmetis-4.0.3/Graphs/rotor.graph 1 6 1 1 6 1

输入文件为自带的parmetis-4.0.3/Graphs/rotor.graph,划分为6个分区,dbglvl设为6(输入的信息较多),

其他的都设为1。运行结果如下图,会在parmetis-4.0.3/Graphs文件夹下生成 rotor.graph.part文件,里面是每个顶点所属的

分区id(0-5)。

ParMETIS 安装与使用_第1张图片

从上图,可明显看出Coarsening Phase与Uncoarsening Phase。

    3. 分布式环境下进行并行图划分。

实验环境:两台服务器test150和test151,两台机器上的mpi已经配置好。

新建machines文件,内容如下:


并行运行parmetis的命令如下:

mpiexec -n 2 --hostfile machines parmetis /home/gougou/GraphPartition/parmetis-4.0.3/Graphs/rotor.graph 1 6 1 1 6 1


    完!





你可能感兴趣的:(partition,Giraph,parmetis)