you can check src/ksp/ksp/examples/tutorials/ex44f.F90 for example usage.. Satish
On Fri, 4 Nov 2016, Barry Smith wrote: > > For some of the includes once you include them in a module you cannot > include them in routines that use the module. This is generally true for > includes that do not have def at the end of the filename before the prefix. > Just let us know what errors you are getting and we can probably determine > what includes you should not "reinclude" > > Barry > > > On Nov 4, 2016, at 7:37 PM, Manuel Valera <[email protected]> wrote: > > > > Hello all, > > > > I'm reviving this old post because we are trying to share the petsc objects > > from outside our iteration routine, this means several levels outside the > > linear solver script where they are created now, > > > > we have tried with fortran modules but right now we have conflicts while > > taking the includes, if we make the #include in the module it conflicts > > with the rest of the routines, so we wanted to ask you guys what other > > option to make the petsc objects available for the entire program we have, > > carrying them as arguments seems maybe too cumbersome, > > > > Thanks for your help, > > > > Manuel > > > > > > > > On Fri, Sep 23, 2016 at 12:39 PM, Barry Smith <[email protected]> wrote: > > > > I don't know much about modules so can't help, but PETSc variables are > > just like any other variables and so should behave in the same way. > > > > Barry > > > > > On Sep 23, 2016, at 2:31 PM, Manuel Valera <[email protected]> wrote: > > > > > > Ok, i got this: > > > > > > RHS loaded, size: 213120 / 213120 > > > CSRMAt loaded, sizes: 213120 x 213120 > > > 8.43036175 s > > > solveP pass: 1 > > > RHS loaded, size: 213120 / 213120 > > > [0]PETSC ERROR: MatGetSize() line 6295 in > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c Wrong type of > > > object: Parameter # 1 > > > > > > Program received signal SIGABRT: Process abort signal. > > > > > > Backtrace for this error: > > > #0 0x7F2A35AEA777 > > > #1 0x7F2A35AEAD7E > > > #2 0x7F2A34FC6CAF > > > #3 0x7F2A34FC6C37 > > > #4 0x7F2A34FCA027 > > > #5 0x7F2A35F6F6AA > > > #6 0x7F2A35F6A2EA > > > #7 0x7F2A362E2FEF > > > #8 0x7F2A36326681 > > > #9 0x799AFF in solvepetsclinear_ at SolvePetscLinear.f90:137 > > > (discriminator 2) > > > #10 0x798F6A in solvep_rhs_ at SolveP_Rhs.f90:284 > > > #11 0x80D028 in ucmsmain at ucmsMain.f90:472 > > > > > > .-.-.-.-.-.-.-.- > > > > > > What is weird for me is why it loads everything as it should for the > > > first timestep of the problem and then it breaks on the second one, > > > shouldnt the matrix be loaded at modules and shared with all subroutines? > > > also, shouldnt the matrix be locked after assembly_final was used ? that > > > matrix call is Ap which is inside LoadPetscMatrix module, and it looks > > > like its changed after the first timestep. > > > > > > > > > On Fri, Sep 23, 2016 at 12:18 PM, Barry Smith <[email protected]> wrote: > > > > > > Ok, so the problem is not memory corruption. > > > > > > > 0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Invalid argument > > > > [0]PETSC ERROR: Wrong type of object: Parameter # 1 > > > > [0]PETSC ERROR: #1 MatGetSize() line 6295 in > > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > > > > > So it looks like the matrix has not been created yet in this call. You > > > can run with -start_in_debugger noxterm and then type cont in the > > > debugger and it should stop at this error so you can look at the mat > > > object to see what its value is. > > > > > > Barry > > > > > > > > > > > > > On Sep 23, 2016, at 2:07 PM, Manuel Valera <[email protected]> > > > > wrote: > > > > > > > > Barry, that was awesome, all the valgrind error dissappeared after > > > > using the mpiexec from petsc folder, the more you know... > > > > > > > > Anyway this is my output from valgrind running with those options: > > > > > > > > Last Update: 9/23/2016 12: 5:12 > > > > ucmsSeamount Entering MAIN loop. > > > > RHS loaded, size: 213120 / 213120 > > > > CSRMAt loaded, sizes: 213120 x 213120 > > > > 8.32709217 s > > > > solveP pass: 1 > > > > RHS loaded, size: 213120 / 213120 > > > > CSRMAt loaded, sizes: 213120 x 0 > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Invalid argument > > > > [0]PETSC ERROR: Wrong type of object: Parameter # 1 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > ???J??? on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 12:05:03 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #1 MatGetSize() line 6295 in > > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Invalid argument > > > > [0]PETSC ERROR: Wrong type of object: Parameter # 2 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > ???J??? on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 12:05:03 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #2 KSPSetOperators() line 531 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcreate.c > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Nonconforming object sizes > > > > [0]PETSC ERROR: Preconditioner number of local rows -1 does not equal > > > > resulting vector number of rows 213120 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > ???J??? on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 12:05:03 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #3 PCApply() line 474 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Object is in wrong state > > > > [0]PETSC ERROR: Mat object's type is not set: Argument # 1 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > ???J??? on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 12:05:03 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #4 MatGetFactorAvailable() line 4286 in > > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > > > [0]PETSC ERROR: #5 PCGetDefaultType_Private() line 28 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > > > [0]PETSC ERROR: #6 PCSetFromOptions() line 159 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/pcset.c > > > > [0]PETSC ERROR: #7 KSPSetFromOptions() line 400 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcl.c > > > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > > > [cli_0]: aborting job: > > > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > > > > > > > =================================================================================== > > > > = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES > > > > = PID 6490 RUNNING AT valera-HP-xw4600-Workstation > > > > = EXIT CODE: 73 > > > > = CLEANING UP REMAINING PROCESSES > > > > = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES > > > > =================================================================================== > > > > ==6488== > > > > ==6488== HEAP SUMMARY: > > > > ==6488== in use at exit: 131,120 bytes in 2 blocks > > > > ==6488== total heap usage: 1,224 allocs, 1,222 frees, 249,285 bytes > > > > allocated > > > > ==6488== > > > > ==6488== LEAK SUMMARY: > > > > ==6488== definitely lost: 0 bytes in 0 blocks > > > > ==6488== indirectly lost: 0 bytes in 0 blocks > > > > ==6488== possibly lost: 0 bytes in 0 blocks > > > > ==6488== still reachable: 131,120 bytes in 2 blocks > > > > ==6488== suppressed: 0 bytes in 0 blocks > > > > ==6488== Rerun with --leak-check=full to see details of leaked memory > > > > ==6488== > > > > ==6488== For counts of detected and suppressed errors, rerun with: -v > > > > ==6488== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) > > > > > > > > > > > > On Fri, Sep 23, 2016 at 11:15 AM, Barry Smith <[email protected]> > > > > wrote: > > > > > > > > > On Sep 23, 2016, at 1:09 PM, Manuel Valera <[email protected]> > > > > > wrote: > > > > > > > > > > Thanks Barry, for the quick reply, > > > > > > > > > > I tried doing that once recently, not for this problem though, but it > > > > > looks like the model i'm working on isn't optimized at all for memory > > > > > leaks, and valgrind stopped with thousands of errors before reaching > > > > > this part of the execution. > > > > > > > > Some MPI implementations by default produce many meaningless > > > > valgrind messages. So make sure you ./configure PETSc with > > > > --download-mpich this version will not produce any meaningless valgrind > > > > messages about MPI. > > > > > > > > You are not concerned with "memory leaks" in this exercise, only > > > > with using uninitialized memory or overwriting memory you should not > > > > overwrite. So you want valgrind arguments like -q --tool=memcheck > > > > --num-callers=20 --track-origins=yes you do not need > > > > --leak-check=yes > > > > > > > > So run with valgrind and email use the output and we may have > > > > suggestions on the cause. > > > > > > > > Barry > > > > > > > > > > > > > > > > > > > > > > Is there maybe an alternative approach ? or it would be better to > > > > > just get the model in better shape already ? > > > > > > > > > > Thanks > > > > > > > > > > On Fri, Sep 23, 2016 at 10:53 AM, Barry Smith <[email protected]> > > > > > wrote: > > > > > > > > > > Run with valgrind to find the exact location of the first memory > > > > > corruption. > > > > > http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind > > > > > > > > > > > On Sep 23, 2016, at 12:47 PM, Manuel Valera <[email protected]> > > > > > > wrote: > > > > > > > > > > > > Hello all, > > > > > > > > > > > > I'm trying to load my laplacian matrix into a fortran module, and i > > > > > > have implemented it and it works for the first iteration of > > > > > > laplacian solver, but when starts the second step the laplacian > > > > > > matrix object becomes corrupts and looks like it loses one of it's > > > > > > dimensions. > > > > > > > > > > > > Can you help me understand whats happening? > > > > > > > > > > > > The modules are attached, the error i get is the following, i > > > > > > bolded the lines where i detected corruption: > > > > > > > > > > > > ucmsSeamount Entering MAIN loop. > > > > > > RHS loaded, size: 213120 / 213120 > > > > > > CSRMAt loaded, sizes: 213120 x 213120 > > > > > > 8.39198399 s > > > > > > solveP pass: 1 !Iteration number > > > > > > RHS loaded, size: 213120 / 213120 > > > > > > [0]PETSC ERROR: --------------------- Error Message > > > > > > -------------------------------------------------------------- > > > > > > [0]PETSC ERROR: Invalid argument > > > > > > [0]PETSC ERROR: Wrong type of object: Parameter # 1 > > > > > > [0]PETSC ERROR: See > > > > > > http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble > > > > > > shooting. > > > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > > > > > > > > > > > > > ???J??? on a arch-linux2-c-debug named valera-HP-xw4600-Workstation > > > > > > by valera Fri Sep 23 10:27:21 2016 > > > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > > > --download-ml=1 > > > > > > [0]PETSC ERROR: #1 MatGetSize() line 6295 in > > > > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > > > > > CSRMAt loaded, sizes: 213120 x 0 > > > > > > [0]PETSC ERROR: --------------------- Error Message > > > > > > -------------------------------------------------------------- > > > > > > [0]PETSC ERROR: Invalid argument > > > > > > [0]PETSC ERROR: Wrong type of object: Parameter # 2 > > > > > > [0]PETSC ERROR: See > > > > > > http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble > > > > > > shooting. > > > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > > > > > > > > > > > > > ???J??? on a arch-linux2-c-debug named valera-HP-xw4600-Workstation > > > > > > by valera Fri Sep 23 10:27:21 2016 > > > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > > > --download-ml=1 > > > > > > [0]PETSC ERROR: #2 KSPSetOperators() line 531 in > > > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcreate.c > > > > > > [0]PETSC ERROR: --------------------- Error Message > > > > > > -------------------------------------------------------------- > > > > > > [0]PETSC ERROR: Nonconforming object sizes > > > > > > [0]PETSC ERROR: Preconditioner number of local rows -1 does not > > > > > > equal resulting vector number of rows 213120 > > > > > > [0]PETSC ERROR: See > > > > > > http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble > > > > > > shooting. > > > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > > > > > > > > > > > > > ???J??? on a arch-linux2-c-debug named valera-HP-xw4600-Workstation > > > > > > by valera Fri Sep 23 10:27:21 2016 > > > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > > > --download-ml=1 > > > > > > [0]PETSC ERROR: #3 PCApply() line 474 in > > > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > > > > > [0]PETSC ERROR: --------------------- Error Message > > > > > > -------------------------------------------------------------- > > > > > > [0]PETSC ERROR: Object is in wrong state > > > > > > [0]PETSC ERROR: Mat object's type is not set: Argument # 1 > > > > > > [0]PETSC ERROR: See > > > > > > http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble > > > > > > shooting. > > > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > > > > > > > > > > > > > ???J??? on a arch-linux2-c-debug named valera-HP-xw4600-Workstation > > > > > > by valera Fri Sep 23 10:27:21 2016 > > > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > > > --download-ml=1 > > > > > > [0]PETSC ERROR: #4 MatGetFactorAvailable() line 4286 in > > > > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > > > > > [0]PETSC ERROR: #5 PCGetDefaultType_Private() line 28 in > > > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > > > > > [0]PETSC ERROR: #6 PCSetFromOptions() line 159 in > > > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/pcset.c > > > > > > [0]PETSC ERROR: #7 KSPSetFromOptions() line 400 in > > > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcl.c > > > > > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > > > > > [unset]: aborting job: > > > > > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > > > > > > > > > > > <LoadPetscMatrix.f90><SolvePetscLinear.f90> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
