Anders Logg wrote:
> On Sun, Feb 08, 2009 at 05:56:43PM +0000, Garth N. Wells wrote:
>>
>> mspieg wrote:
>>> On Feb 6, 2009, at 6:35 PM, Garth N. Wells wrote:
>>>
>>>>
>>>> mspieg wrote:
>>>>> Hi All,
>>>>>    I'm playing with some characteristic based advection schemes in 
>>>>> Dolfin (0.9.0) which require a large number of discrete Function 
>>>>> evals.  This seems to be leading to a large memory leak as the 
>>>>> process grows considerably in size with every time-step.  I've put 
>>>>> together a small (badly written) program that demonstrates the 
>>>>> problem which I've tried to isolate just to IntersectionDetector (and 
>>>>> the underlying GTS). I suspect the problem is in GTS, but thought I 
>>>>> would start with Dolfin support.  Any thoughts/help greatly 
>>>>> appreciated...
>>>> I recall that quite some time ago some memory leaks were fixed in the 
>>>> DOLFIN GTS interface, but there remained some GTS problems. Have you 
>>>> run valgrind?
>>> Thanks Garth,
>>>    I've been developing on  mac OSX 10.4 which valgrind doesn't support 
>>> (yet ?).  I can probably dig up a linux box and run valgrind (but if 
>>> someone else can do it faster that would be great).  Apple has an 
>>> application MallocDebug, which I've started playing with, but it seems 
>>> to be choking on some of the libraries.  I'll let you know if I make any 
>>> progress.  If anyone else has some insight or can easily run valgrind on 
>>> this code (assuming that it develops the same memory issues under Linux 
>>> as MacOSX), that would be great.
>>>
>> I think that I've fixed the leak (using top to view the memory use, it 
>> now remains constant). I ran valgrind on the original code and it didn't 
>> pick anything up but there was definitely a leak. GTS has an odd 
>> interface which I would say contributed to the DOLFIN-side leak.
>>
>> Garth
> 
> Nice. I was just about to look into it. Yes, the interface is a bit
> strange. 

How did you work out how to use it? Is there any human-readable 
documentation? I could only find the developer reference doc which is 
extracted from the code.

While we're at it, I'm not sure the destructor is correct.
> I tried to figure out how to do it correctly and came up with
> 
>   gts_bb_tree_destroy(tree, true);
> 
> The other option would be
> 
>   gts_bb_tree_destroy(tree, false);
>

The former seems OK.

Garth

> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> DOLFIN-dev mailing list
> [email protected]
> http://www.fenics.org/mailman/listinfo/dolfin-dev


_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to