Banner

Programming Environment

Operating environment

All nodes of the Aaditya run a GNU/Linux based operating environment based on RedHat Linux Enterprise Server.

Login Shells

The following shells are supported as login shells, both on the login nodes and on the compute nodes:

Programming Tools and Libraries

Overview

Activity Tools Linux versions
Source code development Editors vi, vim, emacs, etc.
Executable creation Compilers icc, icpc, ifort, gcc, gfortran, g95, pgif90, pgicc
Parallel executable creation Compilers mpif90, mpicc, mpiCC: provided my module for the IBM-MPI and Intel-MPI environment
Archiving Library Archiver ar

For details see the Aaditya Software page for a listing of available software packages.

______________________________________________________________________________________________

Compilers

Since Aaditya HPC is based on Intel's SandyBridge technology, Aaditya recommends the usage of the Intel Compilers as a first choice.

We recommend to use the Intel Compilers on Aaditya HPC. Use the GCC compilers only if strict compatibility to gcc/gfortran is needed.

______________________________________________________________________________________________

Compiler Directives for the Intel compiler

The following table shows the source code directives as supported by the Intel Fortran compiler to help with tuning or debugging applications. Note that for fixed source format the "!" comment symbol in the first column needs to be replaced with a "c" comment symbol.

Directive Meaning
!DEC$ ivdep Ignore vector dependencies
!DEC$ loop count N Software pipelining hint
!DEC$ distribute point Split large loop
!DEC$ unroll  Unroll inner loop N times. Compiler heuristics used if N omitted.
!DEC$ nounroll Do not unroll loop
!DEC$ prefetch A Prefetch Array A
!DEC$ noprefetch A  Do not prefetch array A
!DEC$ vector [CLAUSE] Vectorize loop,

CLAUSE = { ALWAYS [ASSERT]|ALIGNED|UNALIGNED|TEMPORAL|NONTEMPORAL [(var1 [, var2]...)] }
!DEC$ novector Do not vectorize loop.