static char help[] = "Tests memory usage of DMDA\n\n"; #include #undef __FUNCT__ #define __FUNCT__ "main" int main(int argc, char **argv) { DM dm; PetscErrorCode ierr; #if 0 VecScatter gtol,ltog,ltol; /* scatters, see below for details */ AO ao; /* application ordering context */ Vec natural; /* global vector for storing items in natural order */ VecScatter gton; /* vector scatter from global to natural */ ISColoring localcoloring; /* set by DMCreateColoring() */ ISColoring ghostedcoloring; void *arrayin[DMDA_MAX_WORK_ARRAYS],*arrayout[DMDA_MAX_WORK_ARRAYS]; void *arrayghostedin[DMDA_MAX_WORK_ARRAYS],*arrayghostedout[DMDA_MAX_WORK_ARRAYS]; void *startin[DMDA_MAX_WORK_ARRAYS],*startout[DMDA_MAX_WORK_ARRAYS]; void *startghostedin[DMDA_MAX_WORK_ARRAYS],*startghostedout[DMDA_MAX_WORK_ARRAYS]; 1 Grid == 10000 bytes 1 Vec == 16G In DMSetUp_DMDA(), 1) Create global, local which are subsequently destroyed 2) Create ltog scatter (dof*8G) 3) Create gtol scatter (dof*8G) 4) Raw indices (dof*4G) 5) Create ltogmap (dof*4G) 6) Create ltogmapb (4G) #endif ierr = PetscInitialize(&argc, &argv, NULL, help);CHKERRQ(ierr); ierr = DMDACreate2d(PETSC_COMM_WORLD, DMDA_BOUNDARY_NONE, DMDA_BOUNDARY_NONE, DMDA_STENCIL_STAR, 100, 100, PETSC_DETERMINE, PETSC_DETERMINE, 4, 1, NULL, NULL, &dm);CHKERRQ(ierr); //ierr = DMDestroy(&dm);CHKERRQ(ierr); ierr = PetscFinalize(); return 0; }