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

MKL Sparse SVD (Complex Number Support)

Skyman
初学者
4,748 次查看

Hello,

 

I am attempting trying to take an SVD of a large sparse matrix (10s of Terabytes if stored fully) in Fortran (and potentially parallelize with QR decomposition which I have done for regular sized matrices). However, this matrix is also complex which is currently not supported. I have naively tried adding an mkl_sparse_c_svd function to the mkl_solvers_ee.f90 in hopes that it would work to no success.

 

Is there a viable way to solve this issue/problem with MKL libraries? Am I missing something or making a mistake in how I think this should be implemented?

 

Thanks for any help!

0 项奖励
9 回复数
ShanmukhS_Intel
主持人
4,708 次查看

Hi,


Thanks you for posting on Intel Communities.


>> However, this matrix is also complex which is currently not supported. 

Yes, It was designed to solve problems with the real spectrum only. Complex data types are not supported.


>> Is there a viable way to solve this issue/problem with MKL libraries? Am I missing something or making a mistake in how I think this should be implemented?


We would like to inform you, the only way is using Lapack Computational Routines, However it will take a huge RAM size on SMP systems and the system could not be solved into OOC mode unfortunately. Might be the Scalapack SVD will help in that case. Please find the below links regarding,


Singular Value Decomposition: LAPACK Computational Routines 

https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/lapack-routines/lapack-least-squares-and-eigenvalue-problem/lapack-least-square-eigenvalue-problem-computation/singular-value-decomposition-lapack-computation.html#singular-value-decomposition-lapack-computation


Singular Value Decomposition: ScaLAPACK Driver Routines

https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/scalapack-routines/scalapack-computational-routines/singular-value-decomposition-scalapack-driver.html


Best Regards,

Shanmukh.SS



0 项奖励
ShanmukhS_Intel
主持人
4,684 次查看

Hi,


Reminder:

Has the information provided helped? Is your issue resolved? Could you please let us know if we could close this thread at our end.


Best Regards,

Shanmukh.SS


0 项奖励
Skyman
初学者
4,652 次查看

Sorry for the delay. This answers my question, but I was also curious as to if/when support may be available for this?

 

Thanks!

0 项奖励
ShanmukhS_Intel
主持人
4,586 次查看

Hi,

 

Could you please let us know the requirement of your application, as in why would you require complex numbers support?

 

We would also request you to elaborate the details so that we could look into further with respect to details provided.

 

Best Regards,

Shanmukh.SS

 

0 项奖励
Skyman
初学者
4,547 次查看

I am in computational fluid dynamics and am trying to do a resolvent analysis on 2D grids.

 

The resolvent operator is complex in nature and is also very large since it involves creating a sparse coefficient matrix for each variable for each of the Navier-Stokes equations.

 

I have seen much more computationally complicated methods used to deal with this problem (memory requirements etc.). However, it seems like this library has the potential to solve this issue fairly easily and make parallelization much less complicated.

 

 

0 项奖励
ShanmukhS_Intel
主持人
4,496 次查看

Hi,


Thanks for sharing your requirement details. We will get back to you soon with an update.


Best Regards,

Shanmukh.SS


0 项奖励
Khang_N_Intel
员工
4,482 次查看

Hi,


We will submit this feature request to the mkl team. However, there is no warranty that this feature would be implemented. If it does, we will let you know.


Best regards,

Khang


0 项奖励
Skyman
初学者
4,470 次查看

Awesome! Thanks!

 

This would be a great help for anyone doing this analysis. Should I go ahead and close this/accept as solution?

0 项奖励
Khang_N_Intel
员工
4,418 次查看

Hi,


Please don't do it yet. Let's wait until we know whether the feature will be implemented or not.


Best regards,

Khang


0 项奖励
回复