> On Sep 26, 2016, at 5:07 PM, Manuel Valera <[email protected]> wrote:
> 
> Ok i was using a big matrix before, from a smaller testcase i got the output 
> and effectively, it looks like is not well read at all, results are attached 
> for DRAW viewer, output is too big to use STDOUT even in the small testcase. 
> n# is the number of processors requested.

   You need to construct a very small test case so you can determine why the 
values do not end up where you expect them. There is no way around it.
> 
> is there a way to create the matrix in one node and the distribute it as 
> needed on the rest ? maybe that would work.

   No the is not scalable. You become limited by the memory of the one node.

> 
> Thanks 
> 
> On Mon, Sep 26, 2016 at 2:40 PM, Barry Smith <[email protected]> wrote:
> 
>     How large is the matrix? It will take a very long time if the matrix is 
> large. Debug with a very small matrix.
> 
>   Barry
> 
> > On Sep 26, 2016, at 4:34 PM, Manuel Valera <[email protected]> wrote:
> >
> > Indeed there is something wrong with that call, it hangs out indefinitely 
> > showing only:
> >
> >  Mat Object: 1 MPI processes
> >   type: mpiaij
> >
> > It draws my attention that this program works for 1 processor but not more, 
> > but it doesnt show anything for that viewer in either case.
> >
> > Thanks for the insight on the redundant calls, this is not very clear on 
> > documentation, which calls are included in others.
> >
> >
> >
> > On Mon, Sep 26, 2016 at 2:02 PM, Barry Smith <[email protected]> wrote:
> >
> >    The call to MatCreateMPIAIJWithArrays() is likely interpreting the 
> > values you pass in different than you expect.
> >
> >     Put a call to MatView(Ap,PETSC_VIEWER_STDOUT_WORLD,ierr)  after the 
> > MatCreateMPIAIJWithArray() to see what PETSc thinks the matrix is.
> >
> >
> > > On Sep 26, 2016, at 3:42 PM, Manuel Valera <[email protected]> wrote:
> > >
> > > Hello,
> > >
> > > I'm working on solve a linear system in parallel, following ex12 of the 
> > > ksp tutorial i don't see major complication on doing so, so for a working 
> > > linear system solver with PCJACOBI and KSPGCR i did only the following 
> > > changes:
> > >
> > >    call MatCreate(PETSC_COMM_WORLD,Ap,ierr)
> > > !  call MatSetType(Ap,MATSEQAIJ,ierr)
> > >   call MatSetType(Ap,MATMPIAIJ,ierr) !paralellization
> > >
> > >   call MatSetSizes(Ap,PETSC_DECIDE,PETSC_DECIDE,nbdp,nbdp,ierr);
> > >
> > > !  call MatSeqAIJSetPreallocationCSR(Ap,iapi,japi,app,ierr)
> > >   call MatSetFromOptions(Ap,ierr)
> >
> >     Note that none of the lines above are needed (or do anything) because 
> > the MatCreateMPIAIJWithArrays() creates the matrix from scratch itself.
> >
> >    Barry
> >
> > > !  call 
> > > MatCreateSeqAIJWithArrays(PETSC_COMM_WORLD,nbdp,nbdp,iapi,japi,app,Ap,ierr)
> > >  call 
> > > MatCreateMPIAIJWithArrays(PETSC_COMM_WORLD,floor(real(nbdp)/sizel),PETSC_DECIDE,nbdp,nbdp,iapi,japi,app,Ap,ierr)
> > >
> > >
> > > I grayed out the changes from sequential implementation.
> > >
> > > So, it does not complain at runtime until it reaches KSPSolve(), with the 
> > > following error:
> > >
> > >
> > > [1]PETSC ERROR: --------------------- Error Message 
> > > --------------------------------------------------------------
> > > [1]PETSC ERROR: Object is in wrong state
> > > [1]PETSC ERROR: Matrix is missing diagonal entry 0
> > > [1]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html 
> > > for trouble shooting.
> > > [1]PETSC ERROR: Petsc Release Version 3.7.3, unknown
> > > [1]PETSC ERROR: ./solvelinearmgPETSc                                      
> > >                                                                           
> > >                                                                           
> > >                                                   � � on a 
> > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Mon Sep 
> > > 26 13:35:15 2016
> > > [1]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ 
> > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 
> > > --download-ml=1
> > > [1]PETSC ERROR: #1 MatILUFactorSymbolic_SeqAIJ() line 1733 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/mat/impls/aij/seq/aijfact.c
> > > [1]PETSC ERROR: #2 MatILUFactorSymbolic() line 6579 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c
> > > [1]PETSC ERROR: #3 PCSetUp_ILU() line 212 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/impls/factor/ilu/ilu.c
> > > [1]PETSC ERROR: #4 PCSetUp() line 968 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c
> > > [1]PETSC ERROR: #5 KSPSetUp() line 390 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itfunc.c
> > > [1]PETSC ERROR: #6 PCSetUpOnBlocks_BJacobi_Singleblock() line 650 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/impls/bjacobi/bjacobi.c
> > > [1]PETSC ERROR: #7 PCSetUpOnBlocks() line 1001 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c
> > > [1]PETSC ERROR: #8 KSPSetUpOnBlocks() line 220 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itfunc.c
> > > [1]PETSC ERROR: #9 KSPSolve() line 600 in 
> > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itfunc.c
> > > At line 333 of file solvelinearmgPETSc.f90
> > > Fortran runtime error: Array bound mismatch for dimension 1 of array 
> > > 'sol' (213120/106560)
> > >
> > >
> > > This code works for -n 1 cores, but it gives this error when using more 
> > > than one core.
> > >
> > > What am i missing?
> > >
> > > Regards,
> > >
> > > Manuel.
> > >
> > > <solvelinearmgPETSc.f90>
> >
> >
> 
> 
> <n4.png><n2.png><n1.png>

Reply via email to