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

Using the compiled code in multiple servers

Dal_Molin__Marco
Beginner
303 Views

Hi.

I'm quite new with Fortran and I know that the question may seem trivial to a skilled programmer but I've tried to search deeply for an answer before posting here.

Here is my problem: I have a fortran code, written by someone else, and I have to compile it and run in several servers (with different OSs version, they are all linux based). I can't buy a license for each server or a multi-server one (due to budget and administrative reasons) so the idea is to buy a single license for my linux machine (probably Ubuntu 16.04 or similar) where to compile the code and to run the "executable" in the servers.

Is there a way to do it? I probably have to specify the target machine when I compile the code. It's the fist time I'm doing this process, so far I've always used compilers (freely available) directly in the target machine.

Thank you for the help.
 

0 Kudos
1 Solution
Steve_Lionel
Honored Contributor III
304 Views

First of all, Intel doesn't do run-time licensing. They license the development tools, so you just need a license to run the compiler on your development system.

As for the various targets, the main thing you need to think of is what the oldest CPU instruction set is that you want to support. The default is SSE2 (Pentium 4), which is quite old! Selecting a newer baseline instruction set can get you better performance. Use the -x option if the program will always run on Intel CPUs, -m if it might run on non-Intel. You can also look at the -ax option to include up to three instruction set paths that will automatically select the best one for the running Intel CPU (or the selected baseline otherwise.)

The other thing though is the glibc version - sometimes there are incompatibilities. There are ways of dealing with this if needed.

Make sure you test on as wide a variety of system types as you can.

View solution in original post

0 Kudos
1 Reply
Steve_Lionel
Honored Contributor III
305 Views

First of all, Intel doesn't do run-time licensing. They license the development tools, so you just need a license to run the compiler on your development system.

As for the various targets, the main thing you need to think of is what the oldest CPU instruction set is that you want to support. The default is SSE2 (Pentium 4), which is quite old! Selecting a newer baseline instruction set can get you better performance. Use the -x option if the program will always run on Intel CPUs, -m if it might run on non-Intel. You can also look at the -ax option to include up to three instruction set paths that will automatically select the best one for the running Intel CPU (or the selected baseline otherwise.)

The other thing though is the glibc version - sometimes there are incompatibilities. There are ways of dealing with this if needed.

Make sure you test on as wide a variety of system types as you can.

0 Kudos
Reply