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

CVF vs IVF

forall
Beginner
1,242 Views
I am considering whether to upgrade from CVF to the Intel Fortran but want to make sure that it does not preclude me using old CVF-based code.
Several sites suggest that "The Intel Fortran Compiler for Windows is substantially source-compatible with Compaq Visual Fortran (CVF), versions 5.0 to 6.6" - my understanding was all fortran language extensions from CVF were to be ported to the new Intel compiler. The one I am particularlyinterested in is passing internal procedures as arguments to other procedures.
But in general,what are the incompatibilities between the compilers? I used both console and fortran windows applications under CVF.
The other question was regarding use of IMSL - an earlier message in this forum suggested the older IMSL library bundled with the CVF Pro could not be used by Intel Fortran 8. That seems strange to me-I would've thought it could be used like any other static library?
thanks,
Dmitri
0 Kudos
8 Replies
Steven_L_Intel1
Employee
1,242 Views
Intel Visual Fortran has all of the language features of CVF, including passing internal procedures. The differences come into play if you depend on default calling mechanisms for mixed-language programs, but you can deal with that in various ways.

The issue with CVF's IMSL is that it makes calls to the CVF run-time library, and the Intel library has routines of the same names but are incompatible. We tell you that you must recompile all Fortran sources and cannot reuse static libraries. You may be able to fudge it if you don't mind loss of some IMSL functionality and linker errors. The IMSL 5.0 available with Intel Visual Fortran has a lot of improvements.

You will see in the "sticky" topics in this forum a post about a porting document - find the latest one I posted there and read it. An updated version will be on the Intel web site in a few weeks.
0 Kudos
tonyjay68
Beginner
1,242 Views
In my opinion :
The compatibility the compilers is now good for my projects.
The preprocessor (fpp) does appear to behave differently (it does not seem to strip white space like CVF, or use include paths in the same way) but these can be coded around to get source that works in CVF and IVF
The IDE on the other hand has some critical problems, which mean that some projects can not be used in IVF. Specifically , large projects explode the virtual memory to an unusable amount (I have half loaded a dsw and I'm up from 100MB to in excess of 1GB). Force loading of objects in mixed language projects (i.e c and fortran) is not portable to IVF. Both of these issues have been reported to Premier support (the virtual memory problem in february !) and I have yet to receive a work around.
It is also a painto work on DVF and IVF at the same time i.e. there is no auto convert option. So if you have 100 project sin a workspace you must convert each by hand. This can be also be tedious when wanting to use older versions of code from a repository.
Tony
0 Kudos
Steven_L_Intel1
Employee
1,242 Views
Tony,
We're aware of the memory usage issue and it is being worked on. There is a project conversion tool, but it requires user interaction.
0 Kudos
hweisberg
Beginner
1,242 Views
Another issue is compatibility with Visual Studio 2005.
We would like to migrate to the latest version of development tools as soon as they are released and seem to be reliable. This particularly applies to Visual Studio but it would also apply to our Fortran compiler provided there is no conflict.
In addition, upgrading to IVF from CVF would enable us to debug both managed and unmanaged parts of our code in a single session. It would also allow us to develop in a single IDE rather than two different IDEs. But until we are confident that IVF will be ready when new upgrades of Visual Studio are ready, we probably won't upgrade.
0 Kudos
Steven_L_Intel1
Employee
1,242 Views
We are working on integration for VS2005. It is, of course, very different internally from VS2002/2003 and requires redoing almost everything we have. Given our experience with Microsoft, we would not want to predict when MS would actually release VS2005. It is a certainty that today's IVF would not integrate with VS2005, but we do intend to have support for it at or about the time VS2005 is released.
We cannot, however, ship support for a beta or "preview" version of VS2005 - MS rules don't allow it.
0 Kudos
hweisberg
Beginner
1,242 Views
I'm glad to hear that you do intend to have support for VS2005 at or about the time it is released.
I will add "Upgrade to IVF" to our plans.
0 Kudos
rahzan
Novice
1,241 Views
Also remember that IVF does not have the com server wizard. So producing all the elaborate com server shell files is to be done manually.
0 Kudos
hweisberg
Beginner
1,242 Views
Where we need to interoperate Net code and legacy Fortran, we use the P/Invoke capability of .Net. Where we need to interoperate .Net code and a COM object, we use the COM Interop capabilityof .Net. We never need to interoperate directly between Fortran and a COM object.
So as it happens we don't need the COM Wizard.
0 Kudos
Reply