- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Recently due to my research project, I want to calculate the inverse of an matrix in higher precision. I think it is best to use quadruple precision.
I learned that the ifort can define DOUBLE PRECISION declaration as REAL(KIND=16) ,i.e. in quadruple precision.
It seems that the source code of Lapack and my code which calls the subroutine in Lapack, can be compiled using -double-size 128 option.
However, I do not think Intel MKL offers quadruple precision version of Lapack.
Can this be done with MKL? If not, what is the possible way?
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are many algorithms (including some in Lapack) that contain tuning parameters in the source code. These tuning parameters differ from single-precision to double-precision, and their values for quad-precision may be unknown.
Merely compiling these sources using a compiler-provided automatic promotion from double to quad-precision will not produce a quad-precision Lapack library that will deliver true quad-precision.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't see the objection against compiling lapack and blas with the quad precision promotion option. Needless to say, it will be a lot slower than MKL double precision. Addition of OpenMP parallelism should help, but it's not necessarily straightforward.
Also presumably needless to say, explicit inversion of a matrix is neither an efficient nor most accurate way to solve most matrix algebra problems. Among the options for cases where double precision isn't sufficiently accurate would be iterative improvement.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks very much for all replies!
Now I realize that in my project, even though I do not need the inversion of a matrix, however, I have to solve the general eigenvalue problem in higher precision.
Still, this can not be done with present Intel MKL, according to what mecej4 & TimP (Intel) said.
So I think I should figure out another way.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have the fast program of diagonalization of quad-precision accuracy which is partially based on BLAS and LAPACK (x64). For example, my qgemm only in 13 times more slowly dgemm Intel MKL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yuriisig wrote:Thanks very much! If you like, could you share your code with me? I have PM you my email account.I have the fast program of diagonalization of quad-precision accuracy which is partially based on BLAS and LAPACK (x64). For example, my qgemm only in 13 times more slowly dgemm Intel MKL.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page