- Home
- About
- Research
- Education
- News
- Publications
- Guides-new
- Guides
- Introduction to HPC clusters
- UNIX Introduction
- Nova
- HPC Class
- SCSLab
- File Transfers
- Cloud Back-up with Rclone
- Globus Connect
- Sample Job Scripts
- Containers
- Using DDT Parallel Debugger, MAP profiler and Performance Reports
- Using Matlab Parallel Server
- JupyterLab
- JupyterHub
- Using ANSYS RSM
- Nova OnDemand
- Python
- Using Julia
- LAS Machine Learning Container
- Support & Contacts
- Systems & Equipment
- FAQ: Frequently Asked Questions
- Contact Us
- Cluster Access Request
Compiler Options
Recommended compiler options
Use of the Intel Fortran, C, and C++ compilers (icc, icpc, ifort) is recommended for all applications. Detailed information about these compilers can be found by issuing 'man icc' and 'man ifort'.
Recommended compiler options for High Performance
The default compiler options include such optimizations as -O2, -m64, -msse2. However, the use of the following compiler option will usually provide better performance of your program.
-fast
This option in its turn sets the following options:
-ipo, -O3, -no-prec-div, -static, -fp-model fast=2, and -xHost
The -xHost compiler option tells the compiler to generate instructions for the highest instruction set available on the compilation host processor.
The -ipo option turns on inter-procedural optimization. To get the full benefit of this optimization, you must compile all program files at the same time. For example,
mpiifort -fast -msse3 program1.f90 program2.f90 program3.f90
Compiling for the fat and huge compute nodes
While the head node and all regular compute nodes in the cluster have Intel(R) Xeon(R) CPU E5-2640 v3 processors, the fat and huge nodes have Intel(R) Xeon(R) v2 processors. One of the differences is the level of the supported Instruction Set Extensions. On the regular compute nodes AVX2 is supported, but on the special nodes only AVX is supported. Thus when compiling on the head node with "-fast" compiler option, the AVX2 instructions will be generated which are not supported on the fat and huge nodes. For this reason, when compiling on the head node for the fat/huge nodes, one should add "-xAVX" option AFTER the "-fast" option.
Recommended compiler options for Debugging
The '-check all' ifort compiler option turns on checks for various conditions at run time. Intel C/C++ compiler also supports a number of -check* options. For details issue "man icc".
The -w3 Intel C/C++ compiler option enables diagnostics for remarks, warnings, and errors. Additional warnings are also enabled. The -warn ifort option enables all warning messages except errors and stderrors.