10.2.2 VML vdCosh error code

10.2.2 VML vdCosh error code

It seems MKL 10.2.2 VML vdCosh does not return the correct error code. In the following example, I expect an error code of VML_STATUS_OVERFLOW (which is the case with MKL 10.1) but 10.2.2 vdCosh returnsVML_STATUS_OK.

1) I used default modes.
2) Tested on 64-bit Linux (Ubuntu 9.04).

Are there any options I need to set?

Thanks.

Jaewon

/* =============================== */

MKL_INT n =2;
double a[2] = {-709.0578, 0.0}, y[2];

vmlClearErrStatus();
vdCosh(n, a, y);
err = vmlGetErrStatus();

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Jaewon,
It looks like the problem with the latest version.I 've got the similar result on win32.
We will check the problem more more carefully and will back.
--Gennady

Jaewon,

vdCosh(-709.0578) is a normal floating point double precision value, there's no overflow, so MKL reports VML_STATUS_OK. It was an error in MKL 10.1, which was fixed in MKL10.2.2

--Yury A--

Quoting - Yury Antimirov (Intel)

Jaewon,

vdCosh(-709.0578) is a normal floating point double precision value, there's no overflow, so MKL reports VML_STATUS_OK. It was an error in MKL 10.1, which was fixed in MKL10.2.2

--Yury A--

Thanks Gennady and Yury.

It's good to hear that this has been fixed in version 10.2.2.

It seems cosh(-709.0) = 4.1092 * 10^307.

Then why vdCosh(-709.0) returns INF?

Please compare vdCosh(-709.0) with cosh(-709.0).

Jaewon

Hello Jaewon,

Thank you for clarification. Indeed MKL 10.2.2 fixes the some problems with flagging overflow in vdCosh. Unfortunately there is no complete fix in 10.2.2 yet. So you will still see wrong INF returns on some arguments around overflow bounds (~+/-710.47586). Complete fix is expected in next MKL update release.

Regards,

Yury A.

Leave a Comment

Please sign in to add a comment. Not a member? Join today