> 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>
