> On Jul 2, 2015, at 7:03 PM, Anthony Paul Haas <[email protected]> wrote:
> 
> Hi Barry,
> 
> Here it is. Note that the options -memory_info and -malloc_log provide proper 
> data but I wanted to monitor some operations more closely.

  That's odd, they all use the same mechanism.

   Run on one processor in the debugger  use the PETSc command line option 
-start_in_debugger noxterm

   then put a breakpoint in PetscMemoryGetMaximumUsage  and see what the values 
are when it gets there.

   Also run the same code with the option -memory_info  maybe the 
PetscMemorySetGetMaximumUsage() isn't working, though it should,

  Barry

> 
> Thanks,
> 
> Anthony
> 
> On Thu, Jul 2, 2015 at 4:49 PM, Barry Smith <[email protected]> wrote:
> 
>   It is PetscLogDouble which is an alias for real*8.
> 
>  Only certain systems give easy access to the memory usage. Send the file 
> $PETSC_ARCH/include/petscconf.h and I'll check if yours is suppose to be able 
> to.
> 
>   Barry
> 
> 
> > On Jul 2, 2015, at 4:51 PM, Anthony Paul Haas <[email protected]> 
> > wrote:
> >
> > Hi,
> >
> > Could you please tell me what is the proper Fortran usage for 
> > PetscMemoryGetMaximumUsage? Do I need to define mem (see below) as PetscInt 
> > or PetscLogDouble? I tried both and in both case I got zero memory for all 
> > the processes.
> >
> > I did:
> >
> >        1st try:  PetscLogDouble mem
> >        2nd try:  PetscInt mem
> >
> >     call SlepcInitialize(PETSC_NULL_CHARACTER,ierr)
> >
> >     call MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierr)
> >     call MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr)
> >
> >     call PetscMemorySetGetMaximumUsage(ierr)
> >
> >
> >     .... some code with allocate, MatCreate, MatsetValues,...
> >
> >     call PetscMemoryGetMaximumUsage(mem,ierr)
> >
> >     write(*,*)'On Processor',rank,'memory:',mem
> >
> >
> > Thanks,
> >
> > Anthony
> 
> 
> <petscconf.h>

Reply via email to