The HECToR Service is now closed and has been superceded by ARCHER.

Compiling CASTEP 5.5.2 on HECToR phase 3

Instructions on how to compile CASTEP 6.0 for HECToR Phase 3 (Cray XE6, Interlagos)


CASTEP 5.5.2 should be compiled using the GNU compilers on HECToR (PGI and Cray compiler produce incorrect results).

Set up your environment

Swap to the GNU programming environment:

module swap PrgEnv-cray PrgEnv-gnu

and add the FFTW3 library:

module add fftw

Complete list of modules loaded for central installation compile:

Currently Loaded Modulefiles:
  1) modules/
  2) nodestat/2.2-1.0400.29866.4.3.gem
  3) sdb/1.0-1.0400.30000.6.18.gem
  4) MySQL/5.0.64-1.0000.4667.20.1
  5) lustre-cray_gem_s/1.8.4_2.6.32.45_0.3.2_1.0400.6221.1.1-1.0400.30252.1.29
  6) udreg/2.3.1-1.0400.3911.5.6.gem
  7) ugni/2.3-1.0400.3912.4.29.gem
  8) gni-headers/2.1-1.0400.3906.5.1.gem
  9) dmapp/3.2.1-1.0400.3965.10.12.gem
 10) xpmem/0.1-2.0400.29883.4.6.gem
 11) hss-llm/6.0.0
 12) Base-opts/1.0.2-1.0400.29823.8.1.gem
 13) xtpe-network-gemini
 14) PrgEnv-gnu/4.0.30
 15) xt-mpich2/5.4.0
 16) atp/1.4.0
 17) xt-asyncpe/5.04
 18) pmi/3.0.0-1.0000.8661.28.2807.gem
 19) xt-libsci/11.0.03
 20) gcc/4.6.2
 21) pbs/
 22) packages-phase2b
 23) budgets/1.0
 24) xtpe-interlagos
 25) fftw/

Edit the Makefile

Edit Makefile in the main CASTEP directory so that it has the following options:

FFT := fftw3
BUILD := fast
MATHLIBS := scilib

Modify sections in the obj/platforms/ file to:

# Optimiser, performance and debugging flags
ifeq ($(BUILD),warnings)
OPT = -Ddebug -Wall -O0 -g -fbacktrace
ifeq ($(BUILD),debug)
OPT = -Ddebug -O0 -g -fbounds-check -fbacktrace
ifeq ($(BUILD),intermediate)
OPT = -O1 -g -fbacktrace
# Modified to remove '-march=native'
OPT = -O3 -funroll-loops -ftree-loop-distribution


# Cray scilib (Really only needed for serial compile - ftn includes it
ifeq ($(MATHLIBS),scilib)
# Modified to remove explicit linking

The modified file used on HECToR is available for download:

(Note: you will need to change the name of the above file to and place it in the obj/platforms directory.)

Build the program

Build the program with:

unset CPU
make CASTEP_ARCH=linux_x86_64_gfortran-XT clean
make CASTEP_ARCH=linux_x86_64_gfortran-XT

Back to the CASTEP page