Description
The Intel Fortran compiler 8.x (ifort) is a highly optimizing Fortran
90/95 compiler for Intel CPUs. Code produced by this compiler may also be
run on compatible CPUs but Intel do not support this.
Availability
All workstations and clusters
Source
The compiler is downloadable from Intel's web site.
Licence details
This is commercial licence-managed software. However Intel allows students to
register for a free single-user single-machine licence. This cannot
cover everyone in the sector. We
therefore have purchased an academic network licence for the Theory sector. This
allows anyone to use the compiler provided the licence
server is available and has a free licence. You do not need the licence
in order to run the binaries that the compiler produces, only to
compile. You may redistribute the binaries produced, and you may also
redistribute with them certain runtime libraries from the compiler suite.
A full list of redistributable files may be found in the licenses/fredist.txt file in the
compiler's install directory.
Instructions for users
If you are using the modules environment then
you just need to load the appropriate module. It may be loaded for you
already. The name of the compiler
program (and of the module) is ifort.
There are usually multiple versions of the compiler installed on any given
machine, as Intel release a new one every few weeks. If you use
modules you can easily switch between different versions (see the modules documentation). If not, then you
need to set things up by hand.
The compiler is installed in one of two places, depending on what kind of
machine you're on. Workstations have it in the /usr/local/shared
NFS filesystem, and servers have it in /usr/local. Each version is installed in its own directory,
usually named intel_fc_version. To set up your environment
to use a particular version you need to source the appropriate file from
the bin subdirectory of the compiler's install directory. This is
ifortvars.sh for bash users and ifortvars.csh for csh
users. You will know if you are a csh user. Once the file is sourced you
can type ifort and you should get your chosen compiler version.
You should never need to fiddle with the licence settings, because all
versions of the compiler use the same licence server, and this is set up
by the system login scripts. However for
reference, the way to point the compiler at its licence server is to set
LM_LICENSE_FILE to be 28518@por.ch.private.cam.ac.uk.
Documentation
The compiler comes with manpages. You may need to load the module to make
the manpage available. However most of the documentation is in HTML and
PDF form in the doc subdirectory of the compiler's install
directory. You will have to use a web browser or PDF reader to view it. A
good place to start is the file fcompindex.html.
Admin notes
The Intel compiler comes as RPMs. It also comes with an installer script.
You cannot just install the RPMs because the
installer script fixes up a few things that the RPMs should do but don't.
It also checks that your licence is valid before installing (but has been
known to get this completely wrong when using a network licence)
and uninstalls the previous version of
the compiler. All in all it is better not to use the install script but to
read it through and do the various steps by hand.
Here's how I do it by hand, but the install script changes every so
often so it pays to check what it's doing:
More recently I've changed the way this works. I still edit the .cfg files
to set rpath, but in the compiler driver script I now insert this into the
compiler command line:
${LIBRARY_PATH:+-Xlinker -rpath -Xlinker $LIBRARY_PATH}
The module that are for libraries should set LIBRARY_PATH and CPATH, so
this justs adds the contents of LIBRARY_PATH to the rpath if it's set.
CPATH and LIBRARY_PATH are used by the compilers to find includes and
libraries at compile/link time. rpath then finds libs at runtime. This
system comes in with the SuSE 10.1 workstation image. If it works OK there
I'll put it on clusters.
Because it got tedious to do all the above by hand the SuSE 10.1 image has
a script that does it: /usr/local/shared/sbin/install-intel-compiler.sh
which will fix up both the Fortran and C compiler installs. You still need
to unpack the rpms and make a module by hand, although the module files
have been written so as to need the minimum of changes between compiler
versions.
|