Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28522 Discussions

Setting up IVF 11.0 with OpenMP and IMSL in Microsoft Visual Studio 2005

dsmanoli
Beginner
1,005 Views
Hi,

Could someone tell me what I need to change in Visual Studio 2005 so that I can run a Fortran program that uses OpenMP and IMSL? I upgraded to IVF 11.0 and, while I don't get anyerrors when compiling, I am getting the following error in a pop-up window:

The ordinal 1857 could not be located in the dynamic link library libiomp5md.dll.

In a previous post, I mentioned that I was getting an error message mentioning libguide40.dll, but I think after I upgraded to IVF 11.0, the message changed to mention libiomp5md.dll.

Thanks,
Day
0 Kudos
18 Replies
Steven_L_Intel1
Employee
1,005 Views
It seems to me that if you were able to build without errors, then you do not have "setup" problems - maybe. Ordinal 1857 is KMP_GET_AFFINITY_MASK_PROC. Please download and run Dependency Walker on your program and use the View > Full Paths option to see which copy of libiomp5md.dll is being used.
0 Kudos
dsmanoli
Beginner
1,005 Views
It seems to me that if you were able to build without errors, then you do not have "setup" problems - maybe. Ordinal 1857 is KMP_GET_AFFINITY_MASK_PROC. Please download and run Dependency Walker on your program and use the View > Full Paths option to see which copy of libiomp5md.dll is being used.

Hi Steve,

I downloaded Dependency Walker and opened my program with the View->Full Paths option. I don't see the libiomp5md.dll file listed anywhere, but I did get the following warnings:

Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Please let me know if you have any suggestions. Thanks.
0 Kudos
Steven_L_Intel1
Employee
1,005 Views
The warnings can be ignored. Did you "expand" the DLLs your program links to to see what they reference? In particular, the IMSL and MKL DLLs will reference libiomp5
0 Kudos
dsmanoli
Beginner
1,005 Views
The warnings can be ignored. Did you "expand" the DLLs your program links to to see what they reference? In particular, the IMSL and MKL DLLs will reference libiomp5

Hi Steve,

I did expand the DLLs, but I don't see anything relating to the IMSL or MKL DLLs. I have specified the following unsder the Tools -> Options -> Fortran -> compiler tab in Microsoft Visual Studio:

(Under Executables)
$(IFortInstallDir)binIntel64
$(CommonProgramFiles)IntelShared FilesIa32Bin
$(VSInstallDir)Common7ide
$(VCInstallDir)binamd64
$(VCInstallDir)bin
$(VSInstallDir)Common7tools
$(VSInstallDir)Common7Toolsbin
$(VCInstallDir)PlatformSDKbin
$(FrameworkDir)$(FrameworkVersion)
$(FrameworkSDKDir)bin
$(PATH)
C:Program FilesIntelMKL10.0.011ia64bin
C:Program Files (x86)VNIimslfnl600Intel64lib

(under libraries)
$(IFortInstallDir)libIntel64
$(VCInstallDir)atlmfclibamd64
$(VCInstallDir)libamd64
$(VCInstallDir)PlatformSDKlibamd64
$(FrameworkSDKDir)libamd64
C:Program FilesIntelMKL10.0.011ia64lib
C:Program Files (x86)VNIimslfnl600Intel64lib


(under includes):
$(IFortInstallDir)include
$(IFortInstallDir)includeIntel64
$(VCInstallDir)atlmfcinclude
$(VCInstallDir)include
$(VCInstallDir)PlatformSDKinclude
$(FrameworkSDKDir)include
C:Program FilesIntelMKL10.0.011include
C:Program Files (x86)VNIimslfnl600Intel64includestatic



I'm not sure why the IMSL and MKL libraries are not coming up in the Dependency Walker program.
0 Kudos
Steven_L_Intel1
Employee
1,005 Views
I don't see anything wrong with the paths there, but - do this. Start > Run. Type CMD. In the command window that opens, set default (cd) to a convenient folder and type:

SET PATH > path.txt

paste the contents of path.txt into a reply here. I'm wondering if you have an IA-32 version of libiomp5md.dll in PATH.
0 Kudos
dsmanoli
Beginner
1,005 Views
I don't see anything wrong with the paths there, but - do this. Start > Run. Type CMD. In the command window that opens, set default (cd) to a convenient folder and type:

SET PATH > path.txt

paste the contents of path.txt into a reply here. I'm wondering if you have an IA-32 version of libiomp5md.dll in PATH.

Hi Steve,

Thanks for your help with this. Here are the contents of the path.txt file

Path=C:Program Files (x86)VNIimslfnl600Intel64lib;C:Program filesMPICH2bin;%IFORT_COMPILER11%libIntel64;C:Program Files (x86)IntelCompiler11.0�72fortranmklem64tbin;C:Program FilesIntelMKL10.0.011em64tbin;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:Program FilesMATLABR2008abin;C:Program FilesMATLABR2008abinwin64;c:Program Files (x86)Microsoft SQL Server90Toolsbinn;C:Program Files (x86)IntelCompilerFortran10.1.011\EM64TLib;C:Program Files (x86)SSH Communications SecuritySSH Secure Shell
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

0 Kudos
Steven_L_Intel1
Employee
1,005 Views
Well - nothing helpful there either... Would you please re-open your executable in Dependency Walker, select FIle > Save As, save to a .dwi file and attach that file to a reply here? (See below for attach instructions.) Please also attach the buildlog.htm from a full build of this program.
0 Kudos
dsmanoli
Beginner
1,005 Views
Well - nothing helpful there either... Would you please re-open your executable in Dependency Walker, select FIle > Save As, save to a .dwi file and attach that file to a reply here? (See below for attach instructions.) Please also attach the buildlog.htm from a full build of this program.

Hi Steve,

I uploaded the files you mentioned. My program name is het_save.exe in case it is helpful.
0 Kudos
dsmanoli
Beginner
1,005 Views

Hi Steve,

I uploaded the files you mentioned. My program name is het_save.exe in case it is helpful.

Hi Steve,

I think the uploaded files should be included this time.
0 Kudos
dsmanoli
Beginner
1,005 Views
Well - nothing helpful there either... Would you please re-open your executable in Dependency Walker, select FIle > Save As, save to a .dwi file and attach that file to a reply here? (See below for attach instructions.) Please also attach the buildlog.htm from a full build of this program.

Hi Steve,

I think I have a 64 bit operating system, (I am using Microsoft Server 2008 as the operating system), so shouldI have installed the IVF 11.0 upgrade under the IA-64 Architecture instead of the Intel 64 Architecture? Could this be causing the problem?
0 Kudos
TimP
Honored Contributor III
1,005 Views
(I am using Microsoft Server 2008 as the operating system), so shouldI have installed the IVF 11.0 upgrade under the IA-64 Architecture instead of the Intel 64 Architecture?
No, Intel64, em64t, X64, AMD64 are terms for the 64-bit OS you appear to be using. IA64 refers to Itanium, a completely different 64-bit OS. Mixing them definitely poses a problem. Server 2008 is probably available in versions for both kinds of hardware, but, if you have it running, you should be able to see which hardware platform it is, as only the right combinations will run.
Among the features of the X64 Windows versions:
there are Program Files (x86) and Program Files directories; ifort installs in Program Files (x86), (both 32- and 64-bit are there, if you install both)..
0 Kudos
dsmanoli
Beginner
1,005 Views
Quoting - tim18
No, Intel64, em64t, X64, AMD64 are terms for the 64-bit OS you appear to be using. IA64 refers to Itanium, a completely different 64-bit OS. Mixing them definitely poses a problem. Server 2008 is probably available in versions for both kinds of hardware, but, if you have it running, you should be able to see which hardware platform it is, as only the right combinations will run.
Among the features of the X64 Windows versions:
there are Program Files (x86) and Program Files directories; ifort installs in Program Files (x86), (both 32- and 64-bit are there, if you install both)..

Hi,

Ok, I guess I'll rule out installing the IA-64 bit version of IVF, but if either you or Steve or anyone else has any suggestions for whatI should check based on the .dwi or build log files I posted earlier, that would be really helpful.

Or please let me know if there is any other information I can provide to help diagnose the problem.

Thanks,
Day
0 Kudos
Steven_L_Intel1
Employee
1,005 Views
 /STACK:1000000000

Really? Try cutting that down a bit - say a factor of 1000.

0 Kudos
dsmanoli
Beginner
1,005 Views
 /STACK:1000000000

Really? Try cutting that down a bit - say a factor of 1000.


Hi Steve,

I think I have to use a large stacksize because I'm reading in a lot of data. I did try to reduce it by a factor of 1000 as you suggested, but the program crashes and exits.

I'm still having the problem with libiomp5UI.dll; please let me know if you have any other suggestions for trying to diagnose the problem. I appreaciate your help with this.
0 Kudos
dsmanoli
Beginner
1,005 Views
 /STACK:1000000000

Really? Try cutting that down a bit - say a factor of 1000.


Hi Steve,

In case it is helpful, I noticed that when Idisable the Process OpenMP Directives option in Microsoft Visual Studio under my_project properties, the program compiles and runs without any problems. I also used some test programs and found that when I use OpenMP and IMSL separately in programs, the programs compile and run without any errors or warnings. It seems then that the error message I received about libiomp5UI.dll reflects some comflicts arising from usinig both OpenMP and IMSL at the same time.

How should I specify things in Visual Studio so that both OpenMP and IMSL libraries can be accessed?
0 Kudos
Steven_L_Intel1
Employee
1,005 Views
In the .dwi you attached there was a reference to LINKINFO.DLL. What is that? How is it built?

That the error goes away when you disable OpenMP is not surprising, since libiomp5md.dll is the OpenMP DLL. Which set of IMSL and MKL libraries are you linking against?

Since I see that you have opened an Intel Premier Support issue on that, please update it and attach a ZIP of your project(s) including everything needed to build and run the application.

I think the /STACK is larger than it needs to be - 1GB is the limit for stack on Windows, even 64-bit, but if reducing doesn't change things then leave it.

Does the program start at all before giving these errors?
0 Kudos
dsmanoli
Beginner
1,005 Views
In the .dwi you attached there was a reference to LINKINFO.DLL. What is that? How is it built?

That the error goes away when you disable OpenMP is not surprising, since libiomp5md.dll is the OpenMP DLL. Which set of IMSL and MKL libraries are you linking against?

Since I see that you have opened an Intel Premier Support issue on that, please update it and attach a ZIP of your project(s) including everything needed to build and run the application.

I think the /STACK is larger than it needs to be - 1GB is the limit for stack on Windows, even 64-bit, but if reducing doesn't change things then leave it.

Does the program start at all before giving these errors?

Hi Steve,

Yes, the program does start and run for a bit before giving these errors. In particular, the program runs up to the point at which the first OMP directive comes up.

I uploaded the program and data files to premier support. Please let me know if there is any other information I can provide.

How do I determine which set of IMSL and MKL libraries I am linking against? The paths for the libraries under the Tools -> Options -> Fortran -> compiler tab in Visual Studio are

C:Program Files (x86)IntelCompiler11.0�72fortranmklem64tlib
C:Program Files (x86)VNIimslfnl600Intel64lib

Also, I am using the Run-time Library: Debug Multithreaded (static).

Thanks for the help!
0 Kudos
Steven_L_Intel1
Employee
1,005 Views
We'll continue this through Premier Support for now.
0 Kudos
Reply