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

use mkl95_precision, only: wp => dp

marcioy
Beginner
477 Views
Hi everyone,
I am migrating from IMSL to MKL. I am trying to implement matrix-matrix and matrix-vector calculations using the BLAS.
I have a doubt about what the following statements mean:
(...)
use mkl95_precision, only: wp => dp
implicit none
real(wp):: alpha, beta; !just an example of variables;
(...)
It seems that alpha and beta are double precision variables. There is any difference between the above statement and the following declaration? Which one should I use?
(...)
double precision alpha, beta;
(...)
Thank you in advance
Marcio Yamamoto
0 Kudos
1 Solution
Chao_Y_Intel
Moderator
477 Views

Hi Marcio,

You are right. They are double precision. Both of those two be compiled. If you write alpha, beta as:
real(wp):: alpha, beta;

It make it some easierto changeto single precision code, and only need to change:
wp => DP to wp = SP

Thanks,
Chao

View solution in original post

0 Kudos
2 Replies
Chao_Y_Intel
Moderator
478 Views

Hi Marcio,

You are right. They are double precision. Both of those two be compiled. If you write alpha, beta as:
real(wp):: alpha, beta;

It make it some easierto changeto single precision code, and only need to change:
wp => DP to wp = SP

Thanks,
Chao

0 Kudos
marcioy
Beginner
477 Views
Thank you, Chao!
The guys in Intel work up to midnight??!! You guys are my heroes! ;)
I was wondering if the statement "real(wp):: alpha, beta;" creates any special data structures/object which was necessary for the MKL/BLAS calculation. But it is not the case, right? Both statements generate exactly the same data structure: double precision array?
You should get some sleep, Chao.
Thank you again.
Marcio
0 Kudos
Reply