Metis 图分割示例

构建简单示例

Overview

  • Metis File
    • Input
      • Graph File (dual/nodal)
      • Mesh File
      • Weight File
    • Output
      • Partition File
      • Ordering File
  • Stand-Alone Program
    • gpmetis
    • mpmetis
    • ndmetis
    • m2gmetis
    • graphchk

Stand-Alone Program

gpmetis

  1. demo.graph 文件来自 METIS Manual Figure 2
1
2
3
4
5
6
7
8
7 11
5 3 2
1 3 4
5 4 2 1
2 3 6 7
1 3 6
5 4 7
6 4
  1. 执行 gpmetis demo.graph 2 输出结果文件 demo.graph.part.2
1
2
3
4
5
6
7
1
1
1
0
1
0
0
  1. 分配结果
    • process 1 => 1 2 3 5
    • process 2 => 4 6 7

mpmetis

  1. demo.mesh 文件来自 METIS Manual Figure 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
% mesh file
%
% 1 --- 2 --- 3 --- 4 --- 5
% | | | | |
% 6 --- 7 --- 8 --- 9 --- 10
% | | | | |
% 11 -- 12 -- 13 -- 14 -- 15
%
8
1 2 6 7
2 3 7 8
3 4 8 9
4 5 9 10
6 7 11 12
7 8 12 13
8 9 13 14
9 10 14 15
  1. 执行 mpmetis demo.mesh 3 生成文件 demo.mesh.npart.3demo.mesh.epart.3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
% demo.mesh.npart.3
%
% proc-0 proc-2 proc-1
%
% 1 --- 2 3 --- 4 5
% | | | / / |
% 6 --- 7 8 / 9 --- 10
% | | | / | |
% 11 -- 12 13 14 -- 15
%
0
0
2
2
1
0
0
2
1
1
0
0
2
1
1
%
% demo.mesh.epart.3
%
% proc-0 proc-2 proc-1
%
% 1 --- 2 2 --- 3 --- 4 4 --- 5
% | | | | | | |
% 6 --- 7 7 --- 8 --- 9 8 --- 9 --- 10
% | | | | | | |
% 11 -- 12 12 -- 13 13 -- 14 -- 15
%
0
2
2
1
0
2
1
1

m2gmetis

  1. demo.mesh 文件来自 METIS Manual Figure 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
% mesh file
%
% 1 --- 2 --- 3 --- 4 --- 5
% | | | | |
% 6 --- 7 --- 8 --- 9 --- 10
% | | | | |
% 11 -- 12 -- 13 -- 14 -- 15
%
8
1 2 6 7
2 3 7 8
3 4 8 9
4 5 9 10
6 7 11 12
7 8 12 13
8 9 13 14
9 10 14 15
  1. 执行 m2gmetis demo.mesh demo.dualgraph 生成文件 demo.dualgraph
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
% dual graph file
%
% 1 --- 2 --- 3 --- 4
% | \ / | \ / | \ / |
% | x | x | x |
% | / \ | / \ | / \ |
% 5 --- 6 --- 7 --- 8
%
% Attension: 1-2 1-5 1-6
% Total edges: 16
%
8 16
2 5 6
1 3 5 6 7
2 4 6 7 8
3 7 8
1 2 6
1 2 5 3 7
2 3 6 4 8
3 4 7
  1. 执行 m2gmetis -gtype=nodal demo.mesh demo.nodalgraph 生成文件 demo.nodalgraph
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
15 38
2 6 7
1 6 7 3 8
2 7 8 4 9
3 8 9 5 10
4 9 10
1 2 7 11 12
1 2 6 3 8 11 12 13
2 3 7 4 9 12 13 14
3 4 8 5 10 13 14 15
4 5 9 14 15
6 7 12
6 7 11 8 13
7 8 12 9 14
8 9 13 10 15
9 10 14

API Program

0%