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