In my previous email, I tested petsc-dev/src/mat/examples/tests/ex123.c on MatMatMult_MPIDense_MPIDense() and get error:
Hmm, ex123.c is a test for MatMatMult() using plapack. runnning it, I get [1]PETSC ERROR: Error in external library! [1]PETSC ERROR: Due to aparent bugs in PLAPACK,this is not currently supported! Thus, as it says, MatMatMult() for mpidense matrix is not supported by petsc. > Thanks Hong, I tested this examples (ex103.c and ex107.c) and worked fine ! > Now I want to multiply two dense matrices using BLAS3 routines. I try to use > the MatMatMultNumeric_MPIDense_MPIDense() function implemented in > src/mat/impls/dense/mpi/mpidense.c but I see this error in console: This is likely the same error. We added error message in petsc-dev. BLAS3 is for sequential run. We do not support interface with scalapack, which is a parallel dense matrix package. Hong > > > [...] > [0]PETSC ERROR: > ------------------------------------------------------------------------ > [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, > probably memory access out of range > [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger > [0]PETSC ERROR: or see > http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal[0]PETSC<http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal%5B0%5DPETSC>ERROR: > or try > http://valgrind.org on linux or man libgmalloc on Apple to find memory > corruption errors > [0]PETSC ERROR: likely location of problem given in stack below > [0]PETSC ERROR: --------------------- Stack Frames > ------------------------------------ > [0]PETSC ERROR: Note: The EXACT line numbers in the stack are not available, > [0]PETSC ERROR: INSTEAD the line number of the start of the function > [0]PETSC ERROR: is given. > [0]PETSC ERROR: [0] MatMPIDenseCopyToPlapack line 1028 > /home/hpcin/soft/petsc-3.0.0-p8/src/mat/impls/dense/mpi/mpidense.c > [0]PETSC ERROR: [0] MatMatMultNumeric_MPIDense_MPIDense line 1078 > /home/hpcin/soft/petsc-3.0.0-p8/src/mat/impls/dense/mpi/mpidense.c > [0]PETSC ERROR: --------------------- Error Message > ------------------------------------ > [0]PETSC ERROR: Signal received! > [0]PETSC ERROR: > ------------------------------------------------------------------------ > [0]PETSC ERROR: Petsc Release Version 3.0.0, Patch 8, Fri Aug 21 14:02:12 > CDT 2009 > [0]PETSC ERROR: See docs/changes/index.html for recent updates. > [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting. > [0]PETSC ERROR: See docs/index.html for manual pages. > [0]PETSC ERROR: > ------------------------------------------------------------------------ > [0]PETSC ERROR: ./mult on a linux-gnu named hpcin08 by hpcin Fri Sep 18 > 19:14:55 2009 > [0]PETSC ERROR: Libraries linked from > /home/hpcin/soft/petsc-3.0.0-p8/linux-gnu-c-debug/lib > [0]PETSC ERROR: Configure run at Fri Sep 18 16:03:03 2009 > [0]PETSC ERROR: Configure options --download-f-blas-lapack=1 > --download-plapack --with-mpi-dir=/usr/local/bin/mpich2-1.1.1p1 > --with-scalar-type=real --with-precision=d[1] > [...] > > > > Can I really use this function to multiply two dense matrices ? If not, how > can I multiply these matrices using BLAS3 routines ? > I am attaching my code if you want to see how I am doing. > > Regards. > > > > -- > F?bio Leite Soares > Undergraduate Student of Computing Engineering > Centro de Inform?tica - UFPE - BRAZIL >
