- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I recently installed Parallel Studio XE for Windows and Visual Studio and have had no trouble compiling and executing code. That is until I restarted my computer. Now, code that worked yesterday no longer works apparently due to two missing DLLs. I have found running the Parallel Studio installer again and choosing repair fixes the error until I restart again.
Looking through results here and elsewhere online it seems that often this boils down to a PATH issue. I have checked that my PATH variable contains what I think are the correct links to the DLLs but I still get this error, even after restarting my computer or logging in. I have found that the DLLs exist in a number of different locations for other programs. Some of these are appended to my PATH (mainly for Python) but I don't know if that will have an effect.
Thanks
Alastair
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There can be two compiler environments, one producing 32-bit EXEs and the other 64-bit EXEs. These use 32- and 64-bit RTL DLLs, which may have the same names, eg., a 32-bit libmmd.dll and a 64-bit libmmd.dll. If the PATH leads to a mismatched version, e.g., your EXE is 64-bit but only the 32-bit DLL is found, you have a problem.
You can investigate the problem by checking that the DLLs found along PATH have the correct bitness, using Dumpbin or by selecting the DLL in the Windows Explorer and checking its properties using a right-click.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There can be two compiler environments, one producing 32-bit EXEs and the other 64-bit EXEs. These use 32- and 64-bit RTL DLLs, which may have the same names, eg., a 32-bit libmmd.dll and a 64-bit libmmd.dll. If the PATH leads to a mismatched version, e.g., your EXE is 64-bit but only the 32-bit DLL is found, you have a problem.
You can investigate the problem by checking that the DLLs found along PATH have the correct bitness, using Dumpbin or by selecting the DLL in the Windows Explorer and checking its properties using a right-click.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't see how to tell them apart. Properties doesn't seem to tell and Dumpbin isn't recognized by powershell (I have not investigated further yet). IF you can tell me the size difference of the two versions, that would be an easy way to tell the difference. Or where they are normally found (I found one in WOW).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FWIW, on Windows, the folder System32 is the folder containing (most of) the installed Windows system files.
IOW, if you are running on a 32-bit Window system, these are 32-bit files...
*** if you are running on a 64-bit Windows system, System32 contains the 64-bit files
*** and if you are running on a 64-bit Windows system, there is an additional Windows folder named SysWOW (Windows On Windows) that contain the 32-bit files.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I seem to have both on my computer. For example I have libifcoremdd.dll in sizes 1.22MB and 1.33MB in different parts of the oneAPI directories! I found another on the web that was 1.14MB!. I found some of the missing DLLs in sysWOW64, which I assume are 64 bit. I found none in System32. Where is the compiler and/or the VTune going to be looking for them?
Jim: I gather that you got the recent VTune working? w/o messing up the fortran compiler?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FWIW libifcoremdd.dll is a debug version (dd is the clue) and should only be found within the VS environment not in system32. Debug code does not run outside the VS environment.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
dumpbin is provided by Visual Studio and is available in a Fortran command prompt window. (You can get this in Powershell too by invoking PS after starting the command prompt window. I have a post somewhere here on using the Fortran/VC tools from PS.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK. There are three versions of libiomp5md in OneAPI: ~\oneAPI\2024.1: (32-bit, 763KB); ~\oneAPI\vtune\2024.1:(32-bit, 763KB); ~oneAPI\compiler\2024.1\bin32:(32-bit, 1972KB); and ~oneAPI\compiler\2024.1\bin:(64-bit, 1219KB).
I'm reluctant deleting the 32-bit versions in ~\oneAPI\vtune\2024.1 and installing the 64-bit version because I don't know if some other part of Vtune needs the 32-bit version. Apparently it is not looking in ~\oneAPI\vtune\2024.1, where the 64-bit version is. Where is it looking? Where is the safest place to put the 64-bit versions?
Note that there is at least one more DLL it can't find ( libmmd.dll). I am using the debug version since that seemed to be the easiest way to get the link to the source code in earlier version of Vtune.
I identified the versions by just looking in the DLLs for the code ('L' or 'dt') following the first instance of "PE".
thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So what does PATH look like? Which of those folders is first in PATH, on my system the first itme is PATH=C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\redist\intel64_win\compiler;.......
You should not be looking to move DLLs that is the road to DLL Hell, you should fix the install if that is the issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do not delete 32 or 64 bit versions, nor replace them. Windows is smart enough to skip 32-bit DLLs when running a 64-bit application.
In the recent past, the Intel installer failed to update PATH with the correct location of the DLLs, when the folder layout was changed. I thought that had been fixed in recent releases. PATH should contain the following:
C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin
C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin32
(I don't have Vtune installed, so won't comment on that.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes. Fixing the path got it to work and made a lot of sense.
AND set me off to the next VTune issue:
Data collection is completed successfully
May 21 2024 12:56:13 The result file 'E:\SASi\SASi2.8w\SASi2.8\VTune Profiler Results\SASi2.8\r022ps\r022ps.vtune' is successfully created and added to the project .
Finalization completed with warnings
May 21 2024 12:56:18 Result finalization has completed with warnings that may affect the representation of the analysis data. Please see details below.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
None of those warnings are important.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, so the problem with it not executing after that is something else. In the past, Vtunes had issues looking for files in directories not the same as where the compiler looked.
![](/skins/images/45C6C2D737ED71F4C51F0145C8CB1E9C/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page