So your build/machine works with ex54. That is a nine-point stencil so about 2x larger than your problem, but your problem fails. Is that correct?
On Fri, Aug 12, 2022 at 3:47 PM Alfredo Jaramillo <[email protected]> wrote: > Hello Mark, > But why should this depend on the number of processes? > thanks > Alfredo > > On Fri, Aug 12, 2022 at 1:42 PM Mark Adams <[email protected]> wrote: > >> With 4 million elements you are nowhere near the 32 but integer limit of >> 2B or 32Gb of memory. >> >> See the https://petsc.org/main/docs/manualpages/Mat/MatView >> You should go to binary format when doing large matrices. >> >> Mark >> >> On Fri, Aug 12, 2022 at 1:00 PM Alfredo Jaramillo < >> [email protected]> wrote: >> >>> Hello Mark, >>> Thank you, I added the lines that you sent. >>> This only happens when running the code with more than 1 process. With >>> only 1 MPI process the matrix is printed out. >>> With 2 processes or more I observed the program begins to allocate RAM >>> until it exceeds the computer capacity (32GB) so I wasn't able to get the >>> stack trace. >>> >>> However, I was able to reproduce the problem by compiling >>> src/ksp/ksp/tutorials/ex54.c.html >>> <https://petsc.org/release/src/ksp/ksp/tutorials/ex54.c.html> >>> (modifying line 144) and running it with >>> >>> mpirun -np 2 ex54 -ne 1000 >>> >>> This gives a sparse matrix of order ~1 million. When running ex54 with >>> only one MPI process I don't observe this excessive allocation and the >>> matrix is printed out. >>> >>> Thanks, >>> Alfredo >>> >>> >>> >>> On Fri, Aug 12, 2022 at 10:02 AM Mark Adams <[email protected]> wrote: >>> >>>> You also want: >>>> >>>> PetscCall(PetscViewerPopFormat(viewer)); >>>> PetscCall(PetscViewerDestroy(&viewer)); >>>> >>>> This should not be a problem. >>>> If this is a segv and you configure it with '--with-debugging=1', you >>>> should get a stack trace, which would help immensely. >>>> Or run in a debugger to get a stack trace. >>>> >>>> Thanks, >>>> Mark >>>> >>>> >>>> >>>> On Fri, Aug 12, 2022 at 11:26 AM Alfredo Jaramillo < >>>> [email protected]> wrote: >>>> >>>>> Dear developers, >>>>> >>>>> I'm writing a sparse matrix into a file by doing >>>>> >>>>> if (dump_mat) { >>>>> PetscViewer viewer; >>>>> PetscViewerASCIIOpen(PETSC_COMM_WORLD,"mat-par-aux.m",&viewer); >>>>> PetscViewerPushFormat(viewer, PETSC_VIEWER_ASCII_MATLAB); >>>>> MatView(A,viewer); >>>>> } >>>>> >>>>> This works perfectly for small cases. >>>>> The program crashes for a case where the matrix A is of order 1 >>>>> million but with only 4 million non-zero elements. >>>>> >>>>> Maybe at some point petsc is full-sizing A? >>>>> >>>>> Thank you, >>>>> Alfredo >>>>> >>>>
