Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

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

Highlighted

may_ka

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-25-2020
07:49 PM

111 Views

Hi MKL team,

I am wondering whether mkl routines support 128 bit floating point numbers. Most of the routines nominate the kind of a real input array as "double precision". Using ifort compiler flag "double-size" double precision can be 64 bit and 128 bit. Parsing through the manual I could not find whether 128 bit real numbers would be supported inside mkl down to the actual operation if I compile the application as well as the interface files with that compiler option.

Any clarification is highly appreciated.

Best regards.

Accepted Solutions

Highlighted
MKL accepts single and double precision only. Yes, MKL uses quad-precision reals for some of the cases ( e.x for iterative refinement steps in Pardiso solvers and etc…) but in all of these cases we use the software emulated data types as there are 128-bit instructions available on the HW level.

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-26-2020
08:31 PM

77 Views

4 Replies

Highlighted

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-26-2020
03:48 AM

97 Views

Using a compiler option to promote real sizes only affects the objects that you generate from source code. If you compile an MKL module source file with such an option, you may create MOD files that contain a number of false interfaces to existing MKL code.

Even if you bypass MKL entirely, and compile the BLAS and Lapack routines from source code using quad-precision reals, there is no reason to assume that the so-promoted library routines will return correct results with the higher precision.

Highlighted

may_ka

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-26-2020
02:23 PM

88 Views

Hi,

that I have no access to the mkl source code and therefore rely on an available interface which supports 128 bit is obvious. And if the mkl interface where explicitly accepting only 32 bit and 64 bit, using kind real64 and rea32, I wouldn't have bothered asking. However, they explicitly use "double precision", and therefore there is a residual expectation that Intel has taken care for 128 bit internally if the "double precision" comming through the interface turns out 128 bit. So I am still waiting for Intel to give the final "thumbs down". But if it turns out as such it would be good if the manual where clear about that.

However, I cannot see why a blas/lapack compiled from source using "-double-size=128" should give wrong results.

cheers

Highlighted
MKL accepts single and double precision only. Yes, MKL uses quad-precision reals for some of the cases ( e.x for iterative refinement steps in Pardiso solvers and etc…) but in all of these cases we use the software emulated data types as there are 128-bit instructions available on the HW level.

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-26-2020
08:31 PM

78 Views

Highlighted
The issue is closing and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

10-27-2020
03:05 AM

63 Views

For more complete information about compiler optimizations, see our Optimization Notice.