Used MKL for several weeks; suddenly won't link if in "Release" mode.
Have Windows 7 Pro 64 bit, using Visual Studio 2008 C++, Dell T5500 processor with good horsepower.
Have been using two items from MKL: zgesv.. and vslz .. for a couple of months. Some members of this forum helped me through the usual startup problems (linker problems, syntax problems, etc). all has been well.
Yesterday started experimenting with setup changes to support multi-threading.
Now I can build and run in "Debug Mode" only. When I build in "Release Mode" I get "fatal error 1181: cannot open input file "C:\\Programs.obj".
What I was doing (with Visual studio): * right click on "project" * second from bottom of drop-down menu is a tab: "intel C++ Composer XE 2011" .. clicked that * tried experimenting with some setting. Bad move! * Could not see any effect, went back and undid the settings. Too late!
From that point on, my app will not link if in Release Mode. * Struggled with the same config menu (using "properties") and found that some settings had been changed. * Tried to put them back .. but obviously something is still messed up.
if not - let us know - we will create the example of MVSC 2008 project with these fuctions.
You need to use the similar setting lith Release mode like you use with Debug.please look at these KB. may be they will help you.if not - let us know - we will create the example of MVSC 2008 project with these fuctions.
Gennady: Nice article. Wish I'd seen that when I started.
I have MKL 10.3 with Visual Studio 2008 C++.
Earlier I used "Linker" "input" "Additional dependencies" and a list of libraries "C:\Program Files (x86)\Intel\ComposerXE-2011\workingDirPM"libfftw3-3.lib "C:\Program Files (x86)\Intel\ComposerXE-2011\mkl\lib\intel64"mkl_intel_lp64.lib "C:\Program Files (x86)\Intel\ComposerXE-2011\mkl\lib\intel64"mkl_intel_thread.lib "C:\Program Files (x86)\Intel\ComposerXE-2011\mkl\lib\intel64"mkl_core.lib "C:\Program Files (x86)\Intel\ComposerXE-2011\compiler\lib\intel64"libiomp5md.lib
(was told about the need to have quotes around the paths by a previous helpful person).
I got into this mess by using the tab "Intel C++ Composer ..." ... "Select Build components" (as recommended).
* After some fiddling (yesterday) I got the linker error... and found that my lise of Linker inputs had bee changed. * Put it back, but that did not fix the problem.
Have spent a couple of houre this morning inspecting the "Configuration" setup (under "properties), comparing "debug" to "release". Looking for what might be different. No luck. Got tired eyes and nothing else.
As of now, the "Intel .. select build components" menus is set as in the writeup ("MKL" .. then "Use MKL" No).
Still not able to find the difference between "debug" setup (which works) and "release" setup (which does not).
I am assuming that using "release" and "64 bit" doesn't matter.
What I was really trying to do was learn how to get parallel operation. Later. Let's just try to get this working as it was before.
Have found the following fix (made possible by existence of a recent backup .. when all modes worked): * Copy whole Project (VS) into a separate working directory (just for safety). This captures recent code updates. * From the backup, copy the "project file" and the "project user options file". * Write over the corresponding files in the working directory
Did that and both Release and Debug modes built and executed normally.
A certain symmetry: Not sure how I got into this mess; not quite sure how I got out of it. But success is good.
If you can offer further insight into what the tab "Intel C++ composer" .. "Select Build Components" might have changed that caused my troubles, I would like to hear about it .. so I don't do this again.