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

Next release 100% compatibility

dave_frank
Beginner
3,493 Views
Steve,
Will you confirm that next release will keep ALL syntax options currently supported?
0 Kudos
54 Replies
glshome
Beginner
1,012 Views
I think that if there is no long term plan to provide cross-platform portability as for Java, then there will be few large businesses that adopt .net. The large business requirement is to integrate business applications across various UNIX, Windows, Linux, OpenVMS, VM, and MVS platforms. Early on, it was listed in some summaries of future .net plans to produce JITs for other platforms. I can hardly see any value in producing MSIL if that's the case, the performance hit isn't worth it for most of my applications, I'll simply write portable source code and recompile a targeted binary.
0 Kudos
hbell
Beginner
1,012 Views
Is IF7 the same as CVF at the assembly language level (ie. same default calling conventions, same allocatable array descriptor structure, etc.)? That is, would there be major re-writes of assembly language subroutines currently called from CVF to enable them to be called from IF7.

Harry Bell
0 Kudos
Steven_L_Intel1
Employee
1,012 Views
No, IF7 is not the same as CVF at the assembly level. IF7 uses the C calling convention, with arguments passed by reference and character lengths at the end of the argument list. CVF uses STDCALL with character lengths immediately following the address.

Intel Visual Fortran will adopt the IF7 convention (there may be some minor changes, but I can't think of them offhand.) There will, of course, be switches to get the CVF default back if you want.

Array descriptors are also different between the two implementations. I don't know what they will look like in the future.

Steve
0 Kudos
Deleted_U_Intel
Employee
1,012 Views

> Might we offer
> MSIL as an additional code form in the future?
> Perhaps. Do you really want this? Management at
> Intel seems to think that C++ users may want it but
> not Fortran users.

Management is wrong. I know at least in my case that I have a body of code which we need to be as fast as possible with native IA32 and eventually IA64 code optimizations, but that's only half the Fortran code. The other half would benefit greatly from the managed environment offered by an MSIL backend, since its only purpose is to build data structures for use by VB routines.

In one case I'd really like to invoke a managed delegate on one pile of Fortran code, and get a framework-compatible event back when it's finished churning. Yeah, we could "always do PInvoke" stuff, or wrap a PInvoke call into a managed delegate, but when you're passing big arrays back and forth, the cost of COM or PInvoke becomes a drag.

0 Kudos
Steven_L_Intel1
Employee
1,012 Views
Welcome to the forum, and thanks. That's a very useful perspective.

Steve
0 Kudos
emc-nyc
Beginner
1,012 Views
Most (probably all) of the functionality of IMSL or NAG libraries can be obtained from netlib.

That IMSL restricts distribution of executables using its libraries is not new, although it may be new to Windows users. When I was working in the MVS (IBM mainframe) world, IMSL used run-time libraries, which were most emphatically not redistributable. When we delivered executables (for MVS or VMS platforms), the recipients were required to have IMSL in place. When enough didn't, the company decided to assemble, using netlib sources, an equivalent. Shockingly, many of the routines on netlib have the same name as the corresponding IMSL routines, which lead many people to conclude the IMSL libraries where based on netlib's 8-).

0 Kudos
gfthomas8
Novice
1,012 Views
IMSL, as it comes with CVF, statically links to your app which embeds whatever you designed it to pluck from the .lib. These's no VNI redistributable involved.

With NAG you distributed their DLL with your app and their DLL checks the run-time environment when it loads; if it isn't yours then NAG checks for a run-time licence for the user of your app, or rather their DLL, and if it's missing your app terminates. You distribute the NAG licence with your app which NAG supplies to you for a royalty fee that you negotiate with them. That way, your success is their success.

I agree that netlib is the source of much of IMSL. Ditto for Matlab. Artists do it all the time. As the Fat Knight in Falstaff puts it: "Art resides in this maxim: Steal with politness and at the right time."

Ciao,
Gerry T.
0 Kudos
Intel_C_Intel
Employee
1,020 Views
As I said earlier in the thread, you can, be arrangement, acquire and use a license-management-free static library version of the NAG library. License fees still apply obviously, and NAG use the list of functions you are using to calculate royalties due, subject to a limit.

They really are quite accomodating, if you don't mind a bit of legal back-and-forth on terms and conditions.

DAn
0 Kudos
Steven_L_Intel1
Employee
1,020 Views
I don't think IMSL is derived from netlib - it's been around a long, long time. There's probably parallel development of the same interfaces, though. I'll admit that I don't know for sure.

Steve
0 Kudos
Intel_C_Intel
Employee
1,020 Views
I think IMSL, NAG and Harwell all have some incestuous beginnings, all prior to netlib too :)
0 Kudos
gfthomas8
Novice
1,020 Views
IMSL has been around since the early 70?s. When its source was more accessible (but still not free) it was common for students to find the equivalent implementation of an algorithm on Netlib, ACM/TOMS, SLATEC, CERN, and other repositories and to incorporate that or some modification of it into their research codes. More often than not there was an uncanny similarity between the two but that is really to be expected. Many commercial libraries are rooted in and indebted to open sources. IMSL is tried and tested, is of high value, uses f95-style interfacing, and is competitively priced. I will certainly continue to use it.

Ciao,
Gerry T.
0 Kudos
durisinm
Novice
1,020 Views
This is just a curiosity question. I believe that IMSL stands for something like International Mathematical and Statistical Library. I was surprised to find that VNI's Web site doesn't spell it out, not that I could see, anyway.

From surfing the Web, I have found several minor variations to the meaning of the acronym. Should it be Mathematical or Mathematics? Statistical or Statistics? Library or Libraries?

Mike
0 Kudos
Steven_L_Intel1
Employee
1,020 Views
Well, some of the differences are probably regional language variations - for example, the British say "maths" while Americans say "math".

Nowadays, IMSL doesn't appear to "stand for" anything other than a trademark.

Steve
0 Kudos
Reply