Yeah, before I get too carried away I should probably just try running the 
existing code path twice:  Once as-is, and again actually commenting out the 
underlying Metis call, making the partitioner a big, expensive no-op.

Actually, John, if you have a chance could you rerun one of the cases you have 
data for, but just comment out the call to metis?  Hopefully the memory  usage 
will drop, verifying metis is the issue.

It should suffice to comment out the metis call, and add a

std::fill (part.begin(), part.end(), 0); 

instead, provided its this simple stand-alone case where the mesh is not used!

-Ben



On Oct 30, 2013, at 4:01 PM, Cody Permann <codyperm...@gmail.com>
 wrote:

> Wow, If this does indeed fix the issue, then I can think of a lot of memory 
> hog areas in MOOSE that we might have to cleanup sooner rather than later.  I 
> hope the overhead of the tree doesn't dominate the value_type stored so much 
> that it blows us up our total usage by 200%!  On the other hand 
> sizeof(std::pair<Elem*, dof_id_type>) is probably about half that of a single 
> node in the equivalent red/black tree when you consider the left right 
> pointers... yikes!
> 
> Cody 
> 
> 
> On Wed, Oct 30, 2013 at 2:41 PM, Kirk, Benjamin (JSC-EG311) 
> <benjamin.k...@nasa.gov> wrote:
> Back to the subject issue of Metis memory usage -
> 
> https://github.com/libMesh/libmesh/blob/master/src/partitioning/metis_partitioner.C#L105
> 
> We build a std::map<> from Elem* to a unique sorted contiguous ID, as Metis 
> only considers the active elements and needs some contiguous numbering. I 
> expect that gets quite big, and maybe should be refactored to use a sorted 
> std::vector<std::pair<Elem*, dof_id_type> > instead?
> 
> We could build it in one pass, sort it, and then use it with a binary search 
> or something.
> 
> -Ben
> 
> 
> ------------------------------------------------------------------------------
> Android is increasing in popularity, but the open development platform that
> developers love is also attractive to malware creators. Download this white
> paper to learn more about secure code signing practices that can help keep
> Android apps secure.
> http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
> _______________________________________________
> Libmesh-devel mailing list
> Libmesh-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libmesh-devel
> 


------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to