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

License requirements for app support

lightbulb4
Beginner
823 Views
Hello -

I'm supporting a legacy Fortran application distributed from elsewhere and one of the app's dependencies is "Intel Visual Fortran Compiler 11.1 for Windows, Standard edition." Multiple people will be making use of the compiler on a single machine and this is an academic environment.

What's my best path forward with respect to obtaining a distribution of the compiler software and the licenses to be able to run it?

Thanks!

0 Kudos
11 Replies
Steven_L_Intel1
Employee
823 Views
Are the users going to compile code, or just run the application? If they are just running the application, no license is necessary. You may need to install the redistributables package on the target system.

If they are going to invoke the compiler, then each user needs a license. You may find that some number of "floating" licenses makes sense for your environment, depending on how many people are expected to use the compiler at the same time.
0 Kudos
lightbulb4
Beginner
823 Views
Steve -

I believe that what happens is that every time a user invokes the app, something akin to a .config file selects the source files that make up the run and a new binary is created from those, so, yes, each user would be invoking the compiler. I've got a message in to verify that now.

0 Kudos
Steven_L_Intel1
Employee
823 Views
If that is the case then each user needs a license (or you need to have floating licenses enabled using a license server).
0 Kudos
lightbulb4
Beginner
823 Views
The users in question are subject to coming and going as would be expected in a graduate academic environment, so I think a floating license scenario would be best. Is a license server something we'd have to stand up here, or does Intel maintain that internal to themselves and our system would access it? If the former, can license serving be set up on the same server that's doing the compiling? The server that's doing the compiling and running of the legacy app is the only one we have that's actually set up in an institutional way, i.e., racked with reliable power, cooling, and physical security. I suppose we could get some machine out of surplus and stand it up as an adjunct just to enable use of the Intel Fortran Compiler, but I'd rather handle the function on the one machine if we can.

But as a point of clarification: for the floating licenses, what is meant by "concurrency?" I.e., is the five-seat license required for any given five users to invoke the compiler at any time, or for any given five users to actually run the compiler at once? In our usage scenario, I expect that any two users from a set of five users would only very rarely be running the compiler at the exact same time; if the latter case is true, I would think that we could get by with a two-seat license, figuring that the exceedingly rare third user would get a compiler error until one of the other two compiles completed.
0 Kudos
TimP
Honored Contributor III
823 Views
The floating license server can run on the same machine as the compiler, or an any machine to which the compiling machine has reliable network access.
Accessing a network license checks out a license for a limited period (expiring after a few minutes of inactivity). Steve probably can tell you more specifically.
0 Kudos
Steven_L_Intel1
Employee
823 Views
The license server is software you run on a system on your local network. It does not have to be the system where the compiler is used - we support a wide variety of Windows and Linux systems (and even some other operating systems and non-Intel platforms) for running the license server. We use the commonly-used FLEXlm system from Flexera. As Tim says, when you do a compile, the compiler tries to "check out" a license from the license server - when the compilation finishes, the license is checked in shortly after.

In times past, I would often tell customers that one floating "seat" was good for four users, but a lot depends on the usage pattern. In your case, I think the two-seat license would be fine, and if you found users were inconvenienced you could add more.
0 Kudos
lightbulb4
Beginner
823 Views
Steve, I've since learned that it's not the compiler but the linker (xilink?) that's invoked at launch time; ifort would only be invoked very rarely, after an actual source code change. If xilink doesn't have the same concurrent-use restrictions as ifort, would we be OK with a single-user license or a single floating seat?

Also: about support renewal. If the app forces us to freeze on a compiler version (11.1 in our case), is there any value to renewal? Will the compilier suite shut down if support isn't renewed?
0 Kudos
Steven_L_Intel1
Employee
823 Views
xilink is typically just a jacket around link. Pretty much the only time it isn't is if you are using the /Qipo option.

If all you are doing is linking, no license is required. I suspect that if you actually invoked xilink, it would check for a license, but you could use link instead. But note that comes from the Microsoft tools - if you got those by installing the Visual Studio Shell as part of Intel Fortran, you should have a license.

The compiler will not "shut down" if support is not renewed. You will lose the ability to install newer updates and won't have access to Intel Premier Support.
0 Kudos
lightbulb4
Beginner
823 Views
Steve -

Acknowledging that this is going off-topic, from where can I best obtain the linker that Intel Fortran expects? The Fortran app we're running is built to execute from within MKS Toolkit or Cygwin (I'm using the latter) and my main problem right now is that xilink is trying to run GNU link that's part of Cygwin (it's in Cygwin's /usr/bin), which fails out because it doesn't understand the options it's being given.

On our *older, production* machine that runs this app, this happens in an MKS Toolkit shell:

M:/homedir/jlh>which link
C:/PROGRA~2/Microsoft Visual Studio .NET 2003/VC7/BIN/link.exe

But that's not the only one...

C:/>find . -type f -name link.exe -print
./Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/bin/link.exe
./Program Files (x86)/Microsoft Visual Studio 9.0/VC/Bin/link.exe
./Program Files (x86)/Microsoft Visual Studio 9.0/VC/Bin/amd64/link.exe
./Program Files (x86)/Microsoft Visual Studio 9.0/VC/Bin/x86_amd64/link.exe

So now I'm trying to find out how to get the proper link.exe.
0 Kudos
TimP
Honored Contributor III
823 Views
You need the link.exe in the Visual Studio or MS SDK installation against which you installed ifort. For ifort Intel64, it's the one in VC\bin\amd64. for ifort ia32, the 32-bit one from visual studio. The option /Qlocation,link can be used to specify that path and ignore the path from cygwin. Some people recommend swapping path to put the cygwin link later in PATH, at least if you never use it. Maybe even changing its name. The cygwin link should work with ifort ia32 if the option differences don't interfere.
0 Kudos
Steven_L_Intel1
Employee
823 Views
What Tim says. /Qlocation,link is your friend.
0 Kudos
Reply