kmetis partitioning
Hello,
I am a new user of kmetis and pmetis. I have used them successfully with relatively smaller graphs, but I have a problem when I try to partition a graph that has large variation in vertex weights.
Below are the results I see:
1. min_umiacs_d5.txt is a graph with 6453 vertices and 14137 edges. The sum of vertex weights is 3,018,915,564. The largest vertex weight is less than 100,000,000.
[scsong@naradev05 ~/bin]$ ./kmetis5.0pre2 min_umiacs_d5.txt 30
**********************************************************************
METIS 5.0 Copyright 2001-06, Regents of the University of Minnesota
Graph Information ---------------------------------------------------
Name: min_umiacs_d5.txt, #Vertices: 6453, #Edges: 14137, #Parts: 30
K-way Partitioning... -----------------------------------------------
***Cannot bisect a graph with 0 vertices!
***You are trying to partition a graph into too many parts!
***Cannot bisect a graph with 0 vertices!
***You are trying to partition a graph into too many parts!
***Cannot bisect a graph with 0 vertices!
***You are trying to partition a graph into too many parts!
***Cannot bisect a graph with 0 vertices!
***You are trying to partition a graph into too many parts!
30-way Edge-Cut: 0, Balance: -0.00
Timing Information --------------------------------------------------
I/O: 0.010
Partitioning: 0.020 (KMETIS time)
Total: 0.030
**********************************************************************
I only see '29' in the resulting output file, min_umiacs_d5.txt.part.30
2. Now I try to partition the same graph into only 2 partitions:
[scsong@naradev05 ~/bin]$ ./kmetis5.0pre2 min_umiacs_d5.txt 2
**********************************************************************
METIS 5.0 Copyright 2001-06, Regents of the University of Minnesota
Graph Information ---------------------------------------------------
Name: min_umiacs_d5.txt, #Vertices: 6453, #Edges: 14137, #Parts: 2
K-way Partitioning... -----------------------------------------------
2-way Edge-Cut: 0, Balance: -0.00
Timing Information --------------------------------------------------
I/O: 0.010
Partitioning: 0.010 (KMETIS time)
Total: 0.030
**********************************************************************
Again, I only see '1' in the resulting file, min_umiacs_d5.txt.part.2
For your information, I uploaded the graph file at http://narawiki.umiacs.umd.edu/twiki/pub/Main/WebArchiving/min_umiacs_d5.txt
Thank you very much in advance,
Sangchul Song
- Login to post comments
RE: seems to be an idxtype overflow issue
Hi Sangchul,
It looks like you got integer overflow, I already had this kind of problems, you need to ensure that your weights are not
to "big" , because the total edge cut beeing the sum of the cutted edge's weights, it needs to fit into an integer, in this case I assume your using 32 bit integers, so you might try 5.0pre2 compiling it using idxtype as 64 bit integers and/or you need to normalize somehow your weigths to ensure total edge cut will always fit into idxtype size ...
note : by default idxtype is int32 : a signed type so currently your vertex weight sum effectively overflow this type ...
Vincent Juliard , Phd
RE: That solved the problem
Hi Vincent,
As you pointed out, compiling with idxtype as int64 solved the problem. Thank you very much for your help.
Sang