MatMatMult_MPIDense_MPIDense() works currently?

Hong Zhang hzhang at mcs.anl.gov
Fri Sep 18 20:50:50 CDT 2009


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
>


More information about the petsc-users mailing list