menu

Compile

Compile

[] ■ The compiling commands are the same regardless the compiler used.

When the environment changes (Cray, Intel, GNU),the commands actually called by the links are changed.

(The actually called) CommandIntelGNUCray
ftnifortgfortrancrayftn
cciccgcccraycc
CCicpcg++crayCC

Only the above compilers are available on the system..
When compiling MPI programs, please use: ftn, cc, CC commands.(mpicc, mpif90 are not available)
Ruby and Perl scripts can't be used.

Compiling example (Cray compiler):

% cc -O3 -homp -hautothread -o test-hybrid.exe test-hybrid.c

Compiler options example

[]

Cray Compiler:

Option Meaning
-O[1or2or3] Optimization level
-hautothread Auto parallelization
-h[no]omp OpenMP enabled/disabled
-hvector[1or2or3] SIMD vectorization level
-hthread[1or2or3] Thread optimization level
-hscalar[1or2or3] Scalar optimization level 
-hfp[1or2or3] FP optimization level

 

Parallelization

OpenMP, MPI and hybrid programming are all supported.

OpenMP

Include the following compile time options.
OpenMP library will be automatically linked.

  • Cray environment: -h[no]omp
  • Intel environment: -openmp
  • GNU environment: -fopenmp

Runtime settings.

  • Environment variable    OMP_NUM_THREADS
  • aprun command option -d thread_num

Auto Parallelization

  Both Cray compiler and Intel compiler support automatic parallelization.
  Please use the following compiler options.

  • Cray environment: -Oautothread
  • Intel environment: -parallel

Parallelization

[] OpenMP, MPI and the hybrid code are all supported.

OpenMP

Compile time options.
OpenMP library will be automatically linked during compiling.

  • Cray environment: -h[no]omp
  • Intel environment: -openmp
  • GNU environment: -fopenmp

Runtime options.

  • Environment variable    OMP_NUM_THREADS
  • aprun command option -d thread_num

Auto parallelization

  Bot Cray compiler and Intel compiler support auto parallelization.
  Compile time options.

  • Cray environment: -Oautothread
  • Intel environment: -parallel