- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have been asked to update some old Compaq Visual Fortran code. I know very little about Fortran, but I know the code I've been given requires these modules:
- mfslib
- dflogm
- msimsl
I *think* the software package I mentioned in the title (which I downloaded), includes a Fortran compiler as the first two modules. But it looks like msimsl is now sold by Roguewave software?
So my questions are:
- Are my above assumptions correct (i.e. Parallel studio includes fortran as well as mfslib and dflogm, but msimsl must be downloaded separately from Roguewave)?
- Does anyone have a link to the actual Intel support for their Fortran compiler? (I looked through the various Intel support links and have not found anything relevant; it's all just CPU and driver related support)
Thanks for any help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You will need
- MS Visual Studio Professional or Community. The latter is free if you qualify to use it.
- Intel Parallel Studio XE or Intel Fortran Composer. You probably do not need the cluster edition. For details, see https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html .
- IMSL for Fortran from Roguewave to go with the Intel Fortran compiler.
The CVF modules that you named have slightly differently named counterparts in Intel Fortran. If you name the specific routines that are actually referenced from those modules, as well the names of the IMSL routines called, more specific answers could be given.
If your code also uses 32-bit CVF compatible libraries for which you do not have source, the porting problem will be more difficult.
This is what I suggest. Obtain and install a trial package for Intel Fortran (after installing Visual Studio). Compile and attempt to link your program. Report the list of unsatisfied externals here.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You will need
- MS Visual Studio Professional or Community. The latter is free if you qualify to use it.
- Intel Parallel Studio XE or Intel Fortran Composer. You probably do not need the cluster edition. For details, see https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html .
- IMSL for Fortran from Roguewave to go with the Intel Fortran compiler.
The CVF modules that you named have slightly differently named counterparts in Intel Fortran. If you name the specific routines that are actually referenced from those modules, as well the names of the IMSL routines called, more specific answers could be given.
If your code also uses 32-bit CVF compatible libraries for which you do not have source, the porting problem will be more difficult.
This is what I suggest. Obtain and install a trial package for Intel Fortran (after installing Visual Studio). Compile and attempt to link your program. Report the list of unsatisfied externals here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can start by reading What are the differences between Compaq* Visual Fortran and Intel Visual Fortran? While old, most of the content is still relevant. Module MSIMSL is not provided - as @mecej4 says, if you want IMSL you will need to buy it from Rogue Wave Software, and adapt to their changes in how the modules are named and organized. MSIMSL is a holdover from Microsoft Fortran PowerStation of the mid-1990s.
You can replace uses of MSFLIB with DFLIB - while obsolete, it is still provided and does what you want. DFLOGM can stay or you can switch it to IFLOGM.
I agree that with the recent forum change, the support link is VERY difficult to find. What you want is https://software.intel.com/content/www/us/en/develop/support.html The "Priority Support" button is what to use if you have purchased a license (or are using a trial license.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks very much to both of you for the info. I am still waiting on a free trial of IMSL from Rogue Wave, but once I have that, and once I can get one of my organization's sys admins to install these things for me, I will post back about the results.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Still waiting on IMSL, but I was able to get parallel studio installed.
However, I have had a lot of issues with libraries not being found (ones that should be included with the Intel Compiler and MSVC++, which is installed, such as LIBCMT.lib or user32.lib). I have added the folders where these libraries reside to my user PATH, but it doesn't make any difference to the compiler. Only copying and pasting the libs to the folder I'm compiling from "fixes" the issue, but this is a tedious workaround. This leads me to believe that ifort just uses the system PATH and not user PATH. If this assumption is correct, is there any way to fix this? (I thought specifying paths with -L, as with other compilers, might fix this, but to no avail).
...also, there doesn't seem to be any fortran project option in my Visual Studio 2017, but this is probably something I can get support to help with.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The linker looks for static and DLL import libraries using %LIB%, not %PATH%.
The compiler tools (the compiler, linker, librarian, etc.) have to be accessible through %PATH% during the compile-link process.
If your program uses INCLUDE directives, the %INCLUDE% variable is used. Similarly for .MOD files.
When you build an EXE or DLL, any DLLs that they depend on have to be accessible through %PATH%.
If you wish to build at the command window, use one of the short cuts to CMD that were installed with Parallel Studio, since those will have configured %PATH%, %LIB% and %INCLUDE% to allow the compiler to work properly without your having to specify full paths.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks! Using the short cuts you described, and a few other tweaks (like removing the IMSL dependent parts of the code), I was able to get the code to compile. I have accepted your original answer to my original question.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page