I have a code that has to diagonalize a big number of matrices
and after that perform sucessive matrix multiplications.
I have been using lapack since the start (cheevx)
As the number of eigenvectors have grown I started using mpi
to perform the matrix multiplication part of the code.
In this part I store the result eigenvectors of different
matrices in different processors and use gather and reduction
routines to perform the task.
As the size of each matrix has grown I started using scalapack to
calculate the eigenvectors (pcheevx).
To perform the full calculation I need them to redistribute the
eigenvectors in the same distribution I used in my mpi previous code.
I am trying to use pcgemr2d to perform this job, but when I try to
use both in the same routine, I always get a SIGSEGV message.
Attached you will find a code, that I made based in the test-pdgemr2d.f90
routine that I found in your site and where I have included the pcheevx
If you run this code as it is, you will find that pcgemr2d correctly runs
twice, distributing a matrix (a) in the processor 0 to the others (matrix b)
and gathering the first ten lines back (matrix c).
If I uncomment the lines 145 and 146 of this code I try to diagonalize the
matrix a, I always have a SIGSEGV message.
The program never finished correctly.
I have been using gfortran, pgf90 and mpich in a linux64 (ubuntu 7.10)
environment. I also tried with the same setup in a linux32 (debian)
environment. I used for the tests np = 4.
pcheevx and pcgemr2d seem to work fine if both are not used in the same routine.
Could you give me any advice on what is going wrong?
Thanks in advance,
Departamento de F??sica e Inform??tica
Instituto de F??sica de S??o Carlos
Universidade de S??o Paulo
tel: (55)(16) 33739856
fax: (55)(16) 33739879
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4340 bytes
Desc: not available
<Prev in Thread]
[Next in Thread>
[Scalapack] Problem using pcheevx and pcgemr2d in a routine,
Guilherme Matos Sipahi<=