General Usage Questions Log Out | Topics | Search
Moderators | Edit Profile

Discussion about George's Research » ParMETIS - Parallel Graph Partitioning » General Usage Questions « Previous Next »

  Thread Last Poster Posts Pages Last Post
Reading in GraphsYaron Kretchmer05-19-04  12:51 pm
ParMetis on a single proc machineSrinath V.11-14-05  03:37 pm
  Start New Thread        

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Noel Rycroft
Posted on Friday, December 05, 2003 - 01:16 pm:   

Hi,

I just updated from 3.0 to 3.1 and now I get quite a different result on some graphs.. For a graph generated from a simple square 22x22 quad cell 2-D mesh I get nearly twice as many cut edges as from 3.0 and more imbalance... Is there any explanation for this...?

Also, using 3.0 and 3.1 I tried to refine a partition which had been previously computed using ParMETIS_V3_PartGeomKway (ie. was a good partition quality partition to start with) and I found that graph vertices that do not lie close to a partition border may be migrated. If I refine a non optimized partition (ie one generated with intentionally bad weightings) the refinement did improve the partition.. Is there a reason for ParMetis to refine to a non optimal solution in some circumstances...?

any help appreciated.... Noel..
Top of pagePrevious messageNext messageBottom of page Link to this message

george
Posted on Friday, December 05, 2003 - 04:49 pm:   

Version 3.1 uses a different random number generator which can explain some of these differences.

Can you check to see if the higher cuts are consistent across different meshes?

Top of pagePrevious messageNext messageBottom of page Link to this message

Noel Rycroft
Posted on Monday, December 08, 2003 - 10:54 am:   

I tried a selection of meshes... All the simple 2-D
meshes showed an increase in the number of cut edges. I then did the same comparison for a more realistic mesh consisting of 400,000 hex cells and the number of cut edges actually decreased...
I'm not sure what to conclude from these comparisons... Certainly the realistic mesh is more relevant but I haven't had time to follow up with another realistic mesh to see if the this is consistent.

I noticed that srand48 has now been taken out. Is that the only difference...? A colleague removed the srand48 calls from version 3.0 in order to build under windows. I checked with that build and the difference with the original v3.0 seems negligible.

Any clues to the refine problem..? This is consistent for different meshes and it appears that the reallocation does not minimize the edge-cut if you start with a near optimal partition... I still remain suspicious that there's a bug in the graph I pass in even after meticulous checking for a small graph.

I can provide jpgs of the simple meshes to provide a visual comparison..
Top of pagePrevious messageNext messageBottom of page Link to this message

george
Posted on Tuesday, December 09, 2003 - 06:17 pm:   

Noel, please send me the JPGs and I will look at the refinement issue. As far as the changes, drand48 was one of them, but also I changed a few other things (which were mostly bug fixes).
Top of pagePrevious messageNext messageBottom of page Link to this message

Hua
Posted on Thursday, August 19, 2004 - 03:50 pm:   

Hi, there,

Is there anybody using Parmetis package to partition octree based mesh? Any help is highly appreciated.

Hua
Top of pagePrevious messageNext messageBottom of page Link to this message

Jason Hicken
Posted on Friday, October 29, 2004 - 11:20 am:   

Hi,

I am new to Parmetis, and I have not been able to find an answer to my question in the manual.

Can the function ParMETIS_V3_AdaptiveRepart() handle general periodic boundaries? More specifically, can it handle a vertex which is adjacent to itself?

Thanks,
Jason
Top of pagePrevious messageNext messageBottom of page Link to this message

george
Posted on Friday, October 29, 2004 - 04:13 pm:   

Jason,

No, parmetis's input graph does not allow for loop edges.
Top of pagePrevious messageNext messageBottom of page Link to this message

James Knight
Posted on Sunday, March 06, 2005 - 01:08 pm:   

Is there a serial implementation of the adaptive repartioning algorithm somewhere? I'm trying to use ParMETIS_V3_AdaptiveRepart() on a single processor and keep running into problems. Thanks, James
Top of pagePrevious messageNext messageBottom of page Link to this message

george
Posted on Monday, March 07, 2005 - 04:16 am:   

James,

No there isn't. ParMetis will not work on a single processor.
Top of pagePrevious messageNext messageBottom of page Link to this message

Ben
Posted on Monday, March 07, 2005 - 05:36 pm:   

Hello there,

Firstly, thanks for making this code publically available. It is very useful!

Just an easy question... I am writing up a paper where I reference your work, and I was wondering if you could give me the TeX command to produce the nice METIS and ParMETIS symbols in my paper.

Cheers.
Top of pagePrevious messageNext messageBottom of page Link to this message

Thuan Cao
Posted on Monday, March 14, 2005 - 01:24 pm:   

I've wondered if anyone had ported and used Parmetis 2.0 or 3.1 on cluster machine using intel MPI successfully. I can compile and run the test_parmetis but got error " rank 2 in job 3 ... caused collective abort of all rank " and the test stopped and exit. If anyone had the same problem and knew the cause please share your experience. Thanks.
Top of pagePrevious messageNext messageBottom of page Link to this message

Anonymous
Posted on Wednesday, May 04, 2005 - 02:49 pm:   

Can Parmetis minimize the inter-domain surface
instead of just the number of vertices?
Top of pagePrevious messageNext messageBottom of page Link to this message

george
Posted on Wednesday, May 04, 2005 - 05:12 pm:   

What if you set the edge weights so that they correspond to the area of the shared surface?
Top of pagePrevious messageNext messageBottom of page Link to this message

Anonymous
Posted on Thursday, May 05, 2005 - 08:35 am:   

thanks, clever advice
Top of pagePrevious messageNext messageBottom of page Link to this message

Vinicio Magi
Posted on Thursday, August 18, 2005 - 06:36 pm:   

I am using the ParMETIS code to partition an unstructured 2D mesh with triangular cells. I find that the code will work at times for a specified number of processors (to run ParMETIS in parallel)and a specified number of partitions.
But, at other times it will not run for the same
specified numbers. When it does run, if I change the number of processors and/or partitions, it may or may not run. I have tried three levels of compiler optimization for the ParMETIS code. There is no
consistent behavior, i.e. it works at times but does not work at other times. This is a serious
problem for me because in my computation I have to regrid and
partition many times during the computation.
My computation is of fluid flow past deforming drops. I am running the code on an IBM-SP machine
and the compiler that I used for the ParMETIS code is mpCC.
Top of pagePrevious messageNext messageBottom of page Link to this message

george
Posted on Friday, August 19, 2005 - 07:59 pm:   

How are you using ParMetis? How does it fail?
Top of pagePrevious messageNext messageBottom of page Link to this message

rafael
Posted on Sunday, August 21, 2005 - 09:11 am:   

I am trying to create a c++ program that uses the metis library functions. I get a response from the compiler complaining about the GKfree function. I also tried recompiling everyting (the library and programs) using g++ but all sorts of errors came up.
Has any of you used the metis library with c++ programs? I'd be interested in hearing what steps you had to go through to get these two to work together.
BTW, I have no previous experience in getting c and c++ code to work together, so the solution might be an easy one...

Thanks,
Rafael
Top of pagePrevious messageNext messageBottom of page Link to this message

Vinicio
Posted on Monday, August 22, 2005 - 10:41 am:   

I have compiled Parmetis by using the mpCC compiler on an IBM-SP machine. Then I have linked the parmetis libraries to my fortran code. I just call the routine "parmetis_v3_partmeshkway" with specified input variables. The error is most of the time a segmentation fault. I have also wrote a very short fortran code for a simple unstructured mesh with triangular cells. I get the same error message. Thanks.
Top of pagePrevious messageNext messageBottom of page Link to this message

Vinicio
Posted on Monday, August 22, 2005 - 10:45 am:   

I am wondering about the random number generator. I have read in some place that you have replaced the srand function with drand48 function. I was not able to find this new random number generator function in your code. Thanks again.
Top of pagePrevious messageNext messageBottom of page Link to this message

Camilo
Posted on Thursday, September 15, 2005 - 04:19 pm:   

I am new to ParMETIS and it seems like quite a complex package. I am trying to use it for quite a simple purpose: I would like to partition a large (weighted) graph into multiple smaller partitions (exactly the # of processors) in order to do some parallel graph-based algorithms like max-clique and independent sets.

I have figured out that the ParMETIS_V3_PartKway is the routine I need...however, now I need to figure out how to use the partioning information to actually distribute the graph to the processors.

I have been told (by George) that there is example code for this but I have been unable to locate it. If someone would be as kind as to point out the code fragments which do that I would be most grateful.

Thanks for your help.

Regards,
Camilo


Top of pagePrevious messageNext messageBottom of page Link to this message

Sumit
Posted on Saturday, November 12, 2005 - 12:38 am:   

Dear George,

Can you provide some insight over using libmetis
with code using g++ compiler . I get different errors some with Gkfree function.

Add Your Message Here
Posting is currently disabled in this topic. Contact your discussion moderator for more information.

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration