University of Iowa College of Liberal Arts & Sciences

  Computer Science | Mathematics | Statistics and Actuarial Science | Applied Mathematical and Computational Sciences | Informatics

Mathematical Sciences Computer Support Group

Intel Compiler Information



The Intel Fortran and C/C++ compilers and debuggers are now available on all CSG-managed Linux machines.


Where can I find documentation and training materials?

Documentation and training materials can be found via the following resources:


What are the conventions that CSG uses?

For the Intel 10.1 compilers, CSG has created convenience links that can be used to reference both the 32-bit and 64-bit compilers on Linux.

For the Intel 11.0 compilers, /opt/intel-11 points at the latest version of the Intel 11 suite which includes C/C++ compiler, Fortran, Debugger, Math Kernel Library, and Threading Building Blocks for both 32 and 64 bit environments.
These will be set up by default according to architecture. If you need to set them up manually (e.g. you need the 32-bit environment on a 64-bit machine):

  • source /opt/intel-11/bin/iccvars.csh ia32 for the 32-bit C/C++ compilers
  • source /opt/intel-11/bin/ifortvars.csh ia32 for the 32-bit Fortran compilers
  • source /opt/intel-11/bin/iccvars.csh intel64 for the 64-bit C/C++ compilers
  • source /opt/intel-11/bin/ifortvars.csh intel64 for the 64-bit Fortran compilers



What are the commands to invoke the compilers?

Please read the manual pages first. The compiler executable names are:

  • Fortran: "ifort"
  • C/C++: "icc"
  • Interactive Debugger: "idb"


What about GCC? When should I use it? When should I use the Intel Compilers?

GCC, or the "Gnu Compiler Collection" is a very common compiler in the OSS (open-source software) community. Depending on the situation, GCC or the Intel Compilers may be the best fit for the task at hand. Following are some simple suggestions regarding which compiler is better suited for particular tasks:

  • Not everyone has licenses for the Intel compilers. If portability is an issue, use GCC.
  • If you want to use the IMSL fortran libraries, you will have to use the Intel 32-bit fortran compiler.
  • If neither of the above apply, you should benchmark your code using both compilers to determine which will work best for you.


How can I tell if the processor is provided by Intel or AMD?

If you type this command: cat /proc/cpuinfo | grep vendor in a terminal on a Linux machine, it will return either GenuineIntel or AuthenticAMD. The former is an Intel processor; the latter is not.



How do I use the 32-bit Intel compiler on a 64-bit machine?

There are instances where you have to use the 32-bit Intel compilers (e.g. IMSL fortran libraries).

Language
Shell
Command
C/C++
tcsh/csh
source /opt/intel-11/bin/iccvars.csh ia32
Fortran
tcsh/csh
source /opt/intel-11/bin/ifortvars.csh ia32
C/C++
bash
source /opt/intel-11/bin/iccvars.sh ia32
Fortran
bash
source /opt/intel-11/bin/ifortvars.sh ia32