Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted

Using the compiled code in multiple servers

Jump to solution

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

Accepted Solutions
Highlighted
Black Belt

First of all, Intel doesn't

Jump to solution

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.

Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran

View solution in original post

0 Kudos
1 Reply
Highlighted
Black Belt
1 View

First of all, Intel doesn't

Jump to solution

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.

Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran

View solution in original post

0 Kudos