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

finding installed versions

martymike
Novice
610 Views
Is there a reliable method for discovering what version(s) of IVF are installed and the location? (VF 9.1 and later)

What we found was that HKLM\\SOFTWARE\\INTEL\\Compilers\\Fortran seems to contain subkeys for each installation. Each of those contains values for major version and minor version.

Discovering the installation directories seems a little trickier. At 9.1 and 10.1, for example, there is a subkey 'IA32' which contains a value ProductDir. Appending 'bin' to this path gives you the location of the compiler. At 11.1 ProductDir appears one level higher, and requires that 'bin\\ia32' be appended to find the compiler.

Is there a more straightforward technique? We haven't tried installing every release; do all versions of 10.x work the same? 11.x? 12?
0 Kudos
3 Replies
Steven_L_Intel1
Employee
610 Views
It depends on what you want. For version 10 and above, you can look for the system environment variable IFORT_COMPILERnn where nn is 10, 11 or 12, and this will lead you to the compiler's install root. Yes, you'll need to know how to find the compiler executable under that, which varies by platform and version.

You can also use the registry as you have it. Version 12 also has the ProductDir key at the "top level" of the version number tree. Note that by default, version 12 updates replace previous updates, rather than doing side-by-side, but the latter is an option the first time you install an update.

I will note that simply locating the compiler executable is not really sufficient to use it - you really need to run the .bat file that sets up the environment. In version 12 we've tried to make this simpler by having a "compilervars.bat" in the "bin" folder that takes an "ia32" or "intel64" argument. In 11.1 it was similar except that there were separate .bat files for Fortran and C++.

What do you want to do with this information?
0 Kudos
martymike
Novice
610 Views

Our customersoften build libraries (DLL's) that our software uses. The overwhelming majority of them do not understand what they are doing from a programming perspective. The follow a set a documented rules to contruct very simple programs that call functions provided by both us and other customers (those particular ones being quite compentent programmers). They cannot make heads or tails of any error messages that the compiler or linker provide. To complicate this, the market has become so tied up with regulations (at least in the US) that they find that they need to have several versions of our software installed. Since we update the version of your compiler that we use from time to time, this impacts them. We've tried to simplify things since you do such a good job of backward compatibility (it doesn't seem to matter what version of the compiler that they use, back to 9.1; our interfaces are all simple variables like integers or real scalars), but we find ourselves constantly dealing with helping them with their environment. We've developed a tool to do most of this for us, but it failed when version 11 came out because the ProductDir value moved. Since 12 was just released, I figured I'd ask, ...

0 Kudos
Steven_L_Intel1
Employee
610 Views
In version 12 you will find the compiler binaries under bin\ia32 and bin\intel64 (or bin\ia32_intel64 on IA-32 systems), these subfolders are under what you get from ProductDir. This is the same as 11.1.
0 Kudos
Reply