Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

scaLAPACK: Where is pdsyevd?

exihea
Beginner
716 Views
Hi, list

I do not find the function pdsyevd() in the scaLAPACK manual although pdsyev() is there.
In some simple test with one core and one process, dsyevd() is about 2x faster than pdsyev().
So the devide and concer version is superier. My question is where I can find pdsyevd()? If it is not there for a reason, how could I do similar thing with the existing functions? The manual lists some funcitons to solve symmtric matrix eigen value/eigen vector problem, but I am not sure which ones to call to mimic pdsyevd()'s functionality.

thanks
0 Kudos
3 Replies
Sergey_K_Intel1
Employee
716 Views

It isa documentation bug. Indeed pdsyevd is not described in MKL Reference Manualbutyou can use it according to the online documentation located on http://www.netlib.org/scalapack/slug/. Moreover there exists the testing subroutine PDSDPSUBTST.f located in mkl_release/tests/scalapack/source/TESTING/EIGfor checkingthe output of PDSYEVD.

All the best
Sergey
0 Kudos
exihea
Beginner
716 Views
Thanks. I tried it and it worked great. 3 times faster than pdsyev() for my input data.


Quoting - Sergey Kuznetsov (Intel)

It isa documentation bug. Indeed pdsyevd is not described in MKL Reference Manualbutyou can use it according to the online documentation located on http://www.netlib.org/scalapack/slug/. Moreover there exists the testing subroutine PDSDPSUBTST.f located in mkl_release/tests/scalapack/source/TESTING/EIGfor checkingthe output of PDSYEVD.

All the best
Sergey

0 Kudos
exihea
Beginner
716 Views
I got one more question.

While the pdsyevd() function is fast, I do not know a fast way to distribute and gather data before/after the computation. I use pdelset() and pdelget() for each data point in the matrix. It is too slow. Could you point to me some other functions/sample code that does this efficiently?

thanks
-gshi


Quoting - Sergey Kuznetsov (Intel)

It isa documentation bug. Indeed pdsyevd is not described in MKL Reference Manualbutyou can use it according to the online documentation located on http://www.netlib.org/scalapack/slug/. Moreover there exists the testing subroutine PDSDPSUBTST.f located in mkl_release/tests/scalapack/source/TESTING/EIGfor checkingthe output of PDSYEVD.

All the best
Sergey

0 Kudos
Reply