On Mon 20. Jan 2020 at 19:47, Sam Guo <[email protected]> wrote: > Can I assume if there is MatCreat or VecCreate, I should clean up the > memory myself? >
Yes. You will need to call the matching Destroy function. > On Mon, Jan 20, 2020 at 10:45 AM Sam Guo <[email protected]> wrote: > >> I only include the first few lines of SLEPc example. What about following >> ierr = MatCreate(PETSC_COMM_WORLD,&A);CHKERRQ(ierr); >> ierr = MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,n,n);CHKERRQ(ierr); >> Is there any memory lost? >> >> On Mon, Jan 20, 2020 at 10:41 AM Dave May <[email protected]> >> wrote: >> >>> >>> >>> On Mon 20. Jan 2020 at 19:39, Sam Guo <[email protected]> wrote: >>> >>>> I don't have a specific case yet. Currently every call of PETSc is >>>> checked. If ierr is not zero, print the error and return. For example, >>>> Mat A; /* problem matrix */ >>>> EPS eps; /* eigenproblem solver context */ >>>> EPSType type; >>>> PetscReal error,tol,re,im; >>>> PetscScalar kr,ki; Vec xr,xi; 25 >>>> PetscInt n=30,i,Istart,Iend,nev,maxit,its,nconv; >>>> PetscErrorCode ierr; >>>> ierr = SlepcInitialize(&argc,&argv,(char*)0,help);CHKERRQ(ierr); >>>> ierr = PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL);CHKERRQ(ierr); >>>> ierr = PetscPrintf(PETSC_COMM_WORLD,"\n1-D Laplacian Eigenproblem, >>>> n=%D\n\n",n);CHKERRQ(ierr); >>>> >>>> I am wondering if the memory is lost by calling CHKERRQ. >>>> >>> >>> No. >>> >>> >>> >>>> On Mon, Jan 20, 2020 at 10:14 AM Dave May <[email protected]> >>>> wrote: >>>> >>>>> >>>>> >>>>> On Mon 20. Jan 2020 at 19:11, Sam Guo <[email protected]> wrote: >>>>> >>>>>> Dear PETSc dev team, >>>>>> If PETSc function returns an error, what's the correct way to >>>>>> clean PETSc? >>>>>> >>>>> >>>>> The answer depends on the error message reported. Send the complete >>>>> error message and a better answer can be provided. >>>>> >>>>> Particularly how to clean up the memory? >>>>>> >>>>> >>>>> Totally depends on the objects which aren’t being freed. You need to >>>>> provide more information >>>>> >>>>> Thanks >>>>> Dave >>>>> >>>>> >>>>>> Thanks, >>>>>> Sam >>>>>> >>>>>
