Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

use mkl95_precision, only: wp => dp

marcioy
Beginner
213 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
Employee
213 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

2 Replies
Chao_Y_Intel
Employee
214 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

marcioy
Beginner
213 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
Reply