Are you trying to parallelize a 3 equations system? Or you just use your SIR code to experiment with TS?
> On Mar 31, 2021, at 5:18 PM, Matthew Knepley <[email protected]> wrote: > > On Wed, Mar 31, 2021 at 10:15 AM Francesco Brarda <[email protected] > <mailto:[email protected]>> wrote: > Thank you for your advices. > I wrote what seems to me a very basic code, but I got this error when I run > it with more than 1 processor: > Clearly the result 299. is wrong but I do not understand what am doing wrong. > With 1 processor it works fine. > > My guess is that you do VecGetArray() and index the array using global > indices rather than local indices, because > there memory corruption with a Vec array. > > Thanks, > > Matt > > steps 150, ftime 15. > Vec Object: 2 MPI processes > type: mpi > Process [0] > 16.5613 > 2.91405 > Process [1] > 299. > [0]PETSC ERROR: PetscTrFreeDefault() called from VecDestroy_MPI() line 21 in > /home/fbrarda/petsc/src/vec/vec/impls/mpi/pdvec.c > [0]PETSC ERROR: Block [id=0(16)] at address 0x15812a0 is corrupted (probably > write past end of array) > [0]PETSC ERROR: Block allocated in VecCreate_MPI_Private() line 514 in > /home/fbrarda/petsc/src/vec/vec/impls/mpi/pbvec.c > [0]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [0]PETSC ERROR: Memory corruption: > https://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind > <https://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind> > [0]PETSC ERROR: Corrupted memory > [0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html > <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble shooting. > [0]PETSC ERROR: Petsc Release Version 3.14.4, unknown > [0]PETSC ERROR: ./par_sir_model on a arch-debug named srvulx13 by fbrarda Wed > Mar 31 16:05:22 2021 > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > --with-fc=gfortran --with-openblas-dir=/opt/packages/openblas/0.2.13-gcc > --download-mpich PETSC_ARCH=arch-debug > [0]PETSC ERROR: #1 PetscTrFreeDefault() line 310 in > /home/fbrarda/petsc/src/sys/memory/mtr.c > [0]PETSC ERROR: #2 VecDestroy_MPI() line 21 in > /home/fbrarda/petsc/src/vec/vec/impls/mpi/pdvec.c > [0]PETSC ERROR: #3 VecDestroy() line 396 in > /home/fbrarda/petsc/src/vec/vec/interface/vector.c > [0]PETSC ERROR: #4 SNESLineSearchReset() line 284 in > /home/fbrarda/petsc/src/snes/linesearch/interface/linesearch.c > [0]PETSC ERROR: #5 SNESReset() line 3229 in > /home/fbrarda/petsc/src/snes/interface/snes.c > [0]PETSC ERROR: #6 TSReset() line 2800 in > /home/fbrarda/petsc/src/ts/interface/ts.c > [0]PETSC ERROR: #7 TSDestroy() line 2856 in > /home/fbrarda/petsc/src/ts/interface/ts.c > [0]PETSC ERROR: #8 main() line 256 in par_sir_model.c > [0]PETSC ERROR: No PETSc Option Table entries > [0]PETSC ERROR: ----------------End of Error Message -------send entire error > message to [email protected] > application called MPI_Abort(MPI_COMM_SELF, 256001) - process 0 > [1]PETSC ERROR: PetscTrFreeDefault() called from VecDestroy_MPI() line 21 in > /home/fbrarda/petsc/src/vec/vec/impls/mpi/pdvec.c > [1]PETSC ERROR: Block [id=0(16)] at address 0xbd9520 is corrupted (probably > write past end of array) > [1]PETSC ERROR: Block allocated in VecCreate_MPI_Private() line 514 in > /home/fbrarda/petsc/src/vec/vec/impls/mpi/pbvec.c > [1]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [1]PETSC ERROR: Memory corruption: > https://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind > <https://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind> > [1]PETSC ERROR: Corrupted memory > [1]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html > <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble shooting. > [1]PETSC ERROR: Petsc Release Version 3.14.4, unknown > [1]PETSC ERROR: ./par_sir_model on a arch-debug named srvulx13 by fbrarda Wed > Mar 31 16:05:22 2021 > [1]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > --with-fc=gfortran --with-openblas-dir=/opt/packages/openblas/0.2.13-gcc > --download-mpich PETSC_ARCH=arch-debug > [1]PETSC ERROR: #1 PetscTrFreeDefault() line 310 in > /home/fbrarda/petsc/src/sys/memory/mtr.c > [1]PETSC ERROR: #2 VecDestroy_MPI() line 21 in > /home/fbrarda/petsc/src/vec/vec/impls/mpi/pdvec.c > [1]PETSC ERROR: #3 VecDestroy() line 396 in > /home/fbrarda/petsc/src/vec/vec/interface/vector.c > [1]PETSC ERROR: #4 TSReset() line 2806 in > /home/fbrarda/petsc/src/ts/interface/ts.c > [1]PETSC ERROR: #5 TSDestroy() line 2856 in > /home/fbrarda/petsc/src/ts/interface/ts.c > [1]PETSC ERROR: #6 main() line 256 in par_sir_model.c > [1]PETSC ERROR: No PETSc Option Table entries > [1]PETSC ERROR: ----------------End of Error Message -------send entire error > message to [email protected] > application called MPI_Abort(MPI_COMM_SELF, 256001) - process 0 > >> Il giorno 31 mar 2021, alle ore 12:06, Matthew Knepley <[email protected] >> <mailto:[email protected]>> ha scritto: >> >> On Wed, Mar 31, 2021 at 3:54 AM Francesco Brarda <[email protected] >> <mailto:[email protected]>> wrote: >> Hi everyone! >> >> I am trying to solve a system of 3 ODEs (a basic SIR model) with TS. >> Sequentially works pretty well, but I need to switch it into a parallel >> version. >> I started working with TS not very long time ago, there are few questions >> I’d like to share with you and if you have any advices I’d be happy to hear. >> First of all, do I need to use a DM object even if the model is only time >> dependent? All the examples I found were using that object for the other >> variable when solving PDEs. >> >> You do not need one. We use it in examples because it makes it easy to >> create the data. >> >> When I preallocate the space for the Jacobian matrix, is it better to decide >> the local or global space? >> >> Since you are producing all the Jacobian values, it is whatever is easier in >> your code I think. >> >> THanks, >> >> Matt >> >> Best, >> Francesco >> >> >> -- >> What most experimenters take for granted before they begin their experiments >> is infinitely more interesting than any results to which their experiments >> lead. >> -- Norbert Wiener >> >> https://www.cse.buffalo.edu/~knepley/ <https://www.cse.buffalo.edu/~knepley/> > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
