Actual source code: amsopen.c

  1: /*$Id: amsopen.c,v 1.15 2001/03/23 23:20:01 balay Exp $*/

 3:  #include src/sys/src/viewer/viewerimpl.h

  5: #undef __FUNCT__  
  7: /*@C
  8:     PetscViewerAMSOpen - Opens an AMS memory snooper PetscViewer. 

 10:     Collective on MPI_Comm

 12:     Input Parameters:
 13: +   comm - the MPI communicator
 14: -   name - name of AMS communicator being created

 16:     Output Parameter:
 17: .   lab - the PetscViewer

 19:     Options Database Keys:
 20: +   -ams_port <port number> - port number where you are running AMS client
 21: .   -ams_publish_objects - publish all PETSc objects to be visible to the AMS memory snooper,
 22:                            use PetscObjectPublish() to publish individual objects
 23: .   -ams_publish_stack - publish the PETSc stack frames to the snooper
 24: .   -ams_matlab - open Matlab Petscview AMS client
 25: -   -ams_java - open JAVA AMS client

 27:     Level: advanced

 29:     Fortran Note:
 30:     This routine is not supported in Fortran.

 32:     See the matlab/petsc directory in the AMS installation for one example of external
 33:     tools that can monitor PETSc objects that have been published.

 35:     Notes:
 36:     This PetscViewer can be destroyed with PetscViewerDestroy().

 38:     Information about the AMS (ALICE Memory Snooper) is available via
 39:     http://www.mcs.anl.gov/ams.

 41:    Concepts: AMS
 42:    Concepts: ALICE Memory Snooper
 43:    Concepts: Asynchronous Memory Snooper

 45: .seealso: PetscObjectPublish(), PetscViewerDestroy(), PetscViewerStringSPrintf()

 47: @*/
 48: int PetscViewerAMSOpen(MPI_Comm comm,const char name[],PetscViewer *lab)
 49: {
 51: 
 53:   PetscViewerCreate(comm,lab);
 54:   PetscViewerSetType(*lab,PETSC_VIEWER_AMS);
 55:   PetscViewerAMSSetCommName(*lab,name);
 56:   return(0);
 57: }