On May 22, 2013, at 8:32 PM, Colin McAuliffe <[email protected]> wrote:

> According to gdb the program goes here
> 
> 110: #elif defined(PETSC_HAVE_TASK_INFO)
> 111:   *mem = 0;
> 
> The configuration flags from my petsc compilation indicate that both 
> PETSC_HAVE_TASK_INFO and PETSC_HAVE_GETRUSAGE are 1. I'm not sure what have 
> task info is supposed to do, is it safe to set it to 0 to see if this fixes 
> the problem?

    Remove the PETSC_HAVE_TASK_INFO  stuff completely and then rerun make and 
see if it solves the problem.

     At some point the TASK_INFO stuff worked on the Apple some years ago, 
perhaps they turned if off.

   Barry

> 
> Quoting Barry Smith <[email protected]>:
> 
>> 
>> On May 22, 2013, at 7:06 PM, Colin McAuliffe <[email protected]> wrote:
>> 
>>> Hi Barry, thanks for the quick response.
>>> 
>>> I am using os x and so I would expect that petsc would be able to  use 
>>> getrusage in the following lines of mem.c:
>>> 
>>> 115: #elif defined(PETSC_HAVE_GETRUSAGE)
>>> 116:   getrusage(RUSAGE_SELF,&temp);
>>> 
>>> Is this not the case?
>> 
>>   You can run in the debugger, put a break point at that line to  verify it 
>> goes there and if it does check the values of temp after  the call. 
>> (Sometimes Apple's docs are more optimistic than reality.)
>> 
>>   Barry
>> 
>>> 
>>> Here is the link to apple's getrusage manual page
>>> http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/10.7/man2/getrusage.2.html
>>> 
>>> Quoting Barry Smith <[email protected]>:
>>> 
>>>> 
>>>>  Colin,
>>>> 
>>>>   PetscMemoryGetCurrentUsage() and MaximumUsage() us calls to the   
>>>> underlying operating system to get how much memory the process is   using, 
>>>> as such they will also include external package memory.   Unfortunately it 
>>>> depends on the operating system providing this   information and often it 
>>>> does not, this is why you get 0. If you  are  a hacker you could look at 
>>>> the source for   PetscMemoryGetCurrentUsage() and see how to get the 
>>>> information  for  your OS and add it to this routine.
>>>> 
>>>>  Barry
>>>> 
>>>> 
>>>> 
>>>> On May 22, 2013, at 6:31 PM, Colin McAuliffe <[email protected]> wrote:
>>>> 
>>>>> Hi all,
>>>>> 
>>>>> When calling PetscMemoryGetCurrentUsage or   PetscMemoryGetMaximumUsage 
>>>>> in a fortran code the memory usage   returned is always zero. Adding 
>>>>> command line options such as   -malloc_log and -memory_info doesn't 
>>>>> change this result. Is there   something else I'm missing? Also, will use 
>>>>> of these two  functions  give memory used by external packaged called by 
>>>>> petsc?
>>>>> 
>>>>> All the best,
>>>>> Colin
>>>>> 
>>>>> --
>>>>> Colin McAuliffe
>>>>> PhD Candidate
>>>>> Columbia University
>>>>> Department of Civil Engineering and Engineering Mechanics
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Colin McAuliffe
>>> PhD Candidate
>>> Columbia University
>>> Department of Civil Engineering and Engineering Mechanics
>> 
>> 
>> 
> 
> 
> 
> -- 
> Colin McAuliffe
> PhD Candidate
> Columbia University
> Department of Civil Engineering and Engineering Mechanics

Reply via email to