Page 1 of 1

zgeev...in scalapack?

PostPosted: Wed Aug 29, 2007 9:54 am
by aran
Hi,
I'm new to this forum...

I recently started using lapack library. I'm using zgeev to diagonalize a non-hermitian complex matrix...but it's going very slowly and it's giving me some memory related problems.

I'd like to know whether there is a corresponding scalapack subroutine to zgeev?

Thanks!!
Aran

PostPosted: Wed Aug 29, 2007 11:29 am
by Julien Langou
1- Check which version of LAPACK you are using. If you do not know or can not check,
then try to install LAPACK-3.1 (actually take the latest 3.1.1). The 3.1 release incorporates
the new algorithm from Braman, Byers, and Mathias for ZGEEV and this is incredibly
faster than 3.0; in particular for large problem sizes

2- If you have a multicore processor, use a multithreaded BLAS (for example Goto BLAS).
Although it's hard to get speed up in this routine from a multithreaded BLAS, you can try.

3- If you do not have enough memory, you are stucked. One way to go would have been to
go with ScaLAPACK but there is no ZGEEV equivallent in ScaLAPACK. There is several
efforts to try to provide this functionnality but nothing yet.

It would be nice if you could report any finding/improvement on the line of 1 or 2.
Best wishes,
Julien.

zgeev...in scalapack?

PostPosted: Thu Aug 30, 2007 5:51 am
by aran
Julien, thanks a lot!!

Unfortunately I'm using the 3.0 LAPACK version, so I won't be able to check your first suggestion. I'll try the 2nd one though. I'll keep you posted about the outcome.

Best,
Aran

PostPosted: Thu Aug 30, 2007 10:04 am
by Julien Langou
Hello, let me insist on #1. If you are using LAPACK-3.0 ZGEEV, you really want to take
the time and install LAPACK-3.1 and try out the new ZGEEV. It's easily 3 times faster
and we have seen speed up of 8 for certain matrices. Julien.

PostPosted: Mon Sep 03, 2007 6:48 am
by Klystron
Hi,

I've implemented something which could be called essentially a parallel equivalent to zgeev. I still have to make some things more elegant and add some comments, and then I can release this to anybody who is interested. The routine consists of calls to pzgehrd, zunghr, pzlahqr, and ztrevc (not pztrevc, see also the thread I am going to open in a few minutes).

PostPosted: Wed Sep 26, 2007 10:57 am
by aran
Hi,

I finally found the time to install lapack3.1.1 on my machine, and yes, it's almost 3 times faster than lapack3.0! Thanks a lot!!

Anyway, I still have memory problems for some large matrices...
Hopefully, a parallel equivalent to zgeev will come out soon!

Best,
Aran

PostPosted: Mon Jan 28, 2008 11:16 am
by Klystron
I have written an f90-Routine which is doing the non-hermitian eigenproblem (the zgeev job, in principle) in parallel, based on PBLAS and ScaLAPACK. I have gathered this routine together with a few other useful routines (real hamiltonian eigenproblem, matrix-2-norm, matrix exponential etc.) into an f90 file. If anyone is interested to have this, please contact me via msempf AT ipp.mpg.de.