Visual Studio 2008 and ACML MV

Discussion created by renorm on Mar 20, 2011

Here is my situation.

I wrote a static C++ library which uses vectorized math functions from ACML MV. One of the implementation files in the library uses __vrd2_log function.

When I link to my library from other projects, everything compiles and works fine in debug mode. But in release mode everything compiles and runs, but __vrd2_log fails. I added print statements into the implementation file  to check input/output of __vrd2_log. It turns out that the output of __vrd2_log is always -1.#INF for perfectly legitimate argument values (between 3.0E-5 and 1.0). This happens only in release mode.

Linking to header only routines of my library works fine both in debug and release modes.

My library and the projects which use it link to the shared CRT (cl options /MDd and /MD) and to the libacml_mv_dll.lib. The other file libacml_mv.dll is  located in one of the PATH folders. The build target is x64  and the OS  is Windows Vista 64 bit. ACML version is Intel Fortran 4.4.0.

Any thoughts?