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

VML vdCdfNorm produces nonsense at minus zero (-0)

gabriel_i_r
Beginner
492 Views
Hi,

I think I've found a bug in the vdCdfNorm function in the VML: when given -0.0 it returns 1.5. When given 0.0, it correctly returns 0.5.

This is on Windows, calling a custom-built DLL (using tools\builder\makefile) from a C# program.

I've reproduced the problem in the 32-bit and 64-bit MKL, in verrsiosn 10.1.1.022 and 10.2.1.019, and on two different CPUs (Pentium M and Xeon 5335).

I'm happy to provide more info on request, including more detailed instructions on how to reproduce.

Best,
Gabriel
0 Kudos
1 Solution
Gennady_F_Intel
Moderator
492 Views
Gabriel,
yes, this is the error we are having with 10.2 version. We started to work on the problem. I will inform you about the fix release as soon as possible.
--Gennady

Hello Gabriel,
the problem you reported was fixed in MKL 10.2 Update 2 now,

for example see the output I've got:

input -0.0 output 0.5
input 0.0 output 0.5

You can download this update from Intel Registration Center: "https://registrationcenter.intel.com/regcenter/register.aspx"

-Gennady

View solution in original post

0 Kudos
6 Replies
Gennady_F_Intel
Moderator
492 Views

Hi Gabriel,
Please be kindly to provide us the test case ( and all instructions ) for investigation the problem you encountered.
regards,Gennady

0 Kudos
gabriel_i_r
Beginner
492 Views
Hi Gennady,

Thank you for the quick reply!

The attached zip archive should contain everything necessary to reproduce the problem on Windows:

- C# source file test.cs shows a minimal test case.

- Windows batch file build.bat file calls nmake on MKL10.2.1.019toolsbuildermakefile to build custom mkl.dll binaries in .x86 and .x64 subdirectories. That custom dll exports vdCdfNorm. The environment variables at the top of build.bat may need to be tweaked for your setup.

- The batch file also compiles the test.cs source into .NET assemblies test32.exe and test64.exe and puts them in the appropriate subdirectories. It also copies in the llibiomp5md.dll

- The binaries, as built on my system, are in the .x86 and .x64 subdirectories. They should run as is.

- output.txt shows the output of test32.exe and test64.exe on my system.


I hope that this is helpful. Let me know if I can be of further assistance.

Best,
Gabriel
0 Kudos
Gennady_F_Intel
Moderator
492 Views
Gabriel, thanks for the update. We will check the problem and will back to you soon.
--Gennady
0 Kudos
Gennady_F_Intel
Moderator
492 Views
Gabriel,
yes, this is the error we are having with 10.2 version. We started to work on the problem. I will inform you about the fix release as soon as possible.
--Gennady
0 Kudos
Gennady_F_Intel
Moderator
493 Views
Gabriel,
yes, this is the error we are having with 10.2 version. We started to work on the problem. I will inform you about the fix release as soon as possible.
--Gennady

Hello Gabriel,
the problem you reported was fixed in MKL 10.2 Update 2 now,

for example see the output I've got:

input -0.0 output 0.5
input 0.0 output 0.5

You can download this update from Intel Registration Center: "https://registrationcenter.intel.com/regcenter/register.aspx"

-Gennady

0 Kudos
gabriel_i_r
Beginner
492 Views

Hello Gabriel,
the problem you reported was fixed in MKL 10.2 Update 2 now,

for example see the output I've got:

input -0.0 output 0.5
input 0.0 output 0.5

You can download this update from Intel Registration Center: "https://registrationcenter.intel.com/regcenter/register.aspx"

-Gennady


That fixed it for me. Thank you Gennady.
0 Kudos
Reply