The Wayback Machine - https://web.archive.org/web/20100209093751/http://www.cse.scitech.ac.uk:80/disco/cseht/cseht.shtml
 
 

cseht: A (very) Brief Introduction & Guide

cseht is currently our main cluster facilty featuring Intel Nehalem and Harpertown processors, AMD Shanghai processors, ConnectX DDR InfiniBand interconnect, NVIDIA Tesla S1070 servers and AMD FireStream cards. The cluster has been delivered by Streamline.

Hardware setup
  • 32x HP ProLiant DL160 G5 - compute nodes comp000 - comp031 (dual socket, Intel Xeon E5472 @ 3.0 GHz quad-core, 1600 MHz FSB, 16 GB RAM, Mellanox ConnectX DDR IB HBA MHGH29-XTC (originally MHGH28-XTC);
  • 2x HP ProLian DL380 G5 - Linux and Windows head nodes (16 GB RAM);
  • 1x 36-port QDR Infiniband switch;
  • 8x Supermicro nodes - compute nodes comp032 - comp039 (dual socket Supermicro motherboard X8DAi, Intel Xeon E5540 @ 2.53 GHz quad-core, 24 GB RAM, Voltaire HCA410-4EX Infiniband adapter);
  • 8x NVIDIA Tesla S1070 servers connected to comp032 - comp039 (each Nehalem server can see four Tesla cards);
  • 2x AMD Opteron nodes - compute nodes comp040 - comp041 (dual socket AMD Opteron 2376 @ 2.3 GHz);
  • 2x Aprius servers with two FireStream 9270 cards in each;
  • 2x ClearSpeed CATS600 servers (12 e620 cards in each server);
  • 1x SilverStorm 24-port switch 9024-FC24-ST1-DDR (9024-CU24-ST2-DDR);
  • 2x Nortel 48-port switches.

It is worth noting that each of the GPU enabled nodes (comp032 - comp041) not only has four GPU cards (two FireStream cards in case of comp040 - comp041) but also has fast Infiniband interconnect.

Storage:

  • ClusterVision storage - NFS IPoIB;
  • SSDs
  • JackRabbit storage (Scalable Informatics).

Software setup:

  • GNU compilers 4.1;
  • Intel compilers 11.0, MKL and toolkit;
  • PGI compilers 9.0 with Accelerator features for CUDA;
  • Open MPI, MVAPICH, MVAPICH2;
  • Sun Grid Engine (SGE);
  • NVIDIA compilers;
  • HMPP compilers.

The cluster is dual-boot

  1. Linux: Scientific Linux 5.3
  2. Windows: CCS 2008

Linux Environment:

The default settings should be appropriate to begin with. If you want to customise the environment you can use modules. Alternatively change your .bashrc approriately:

Intel tools:

Intel tools are located in /opt/intel . You may find the following environmental variables useful
export INTEL_LICENSE_FILE="/opt/intel/licenses"
export MANPATH="/opt/intel/Compiler/11.0/man:${MANPATH}"
export LD_LIBRARY_PATH="/opt/intel/Compiler/11.0/lib/intel64:${LD_LIBRARY_PATH}"
export PATH="/opt/intel/Compiler/11.0/bin/intel64:${PATH}"
. /opt/intel/mkl/10.1.2.024/tools/environment/mklvarsem64t.sh

Portland compilers:

The new default location of PGI compilers is /opt/pgi (formerly /usr/local ). Add the following variables
export LM_LICENSE_FILE=/opt/pgi/license.dat
PGIROOT=/opt/pgi/linux86-64/9.0
export PATH=$PGIROOT/bin:$PATH
export MANPATH=$PGIROOT/man:$MANPATH
export LD_LIBRARY_PATH=$PGIROOT/lib:$PGIROOT/libso:$LD_LIBRARY_PATH
You may find this one useful too
export NO_STOP_MESSAGE=

PGI Fortran and C Accelerator Programming Model version 1.0 June 2009.

HMPP Workbench:

HMPP stands for Hybrid Multi-core Parallel Programming. The HMPP environment is loaded by sourcing
. /opt/HMPPWorkbench-2.1.0/bin/hmpp-workbench-env.sh
Once it is loaded you have hmppcc and hmppfort compilers at your disposal. Note that currently hmppfort compiler does not work with gfortran so you have to use Intel Fortran compiler ifort. If the Intel compiler does not work on a compute node use one of the head nodes (cseht or csehtgpu).

Tutorial on HMPP is available here.

NVIDIA compiler:

export CUDA_HOME=/usr/local/cuda
export CUDA_SDK_HOME=/usr/local/cuda/NVIDIA_CUDA_SDK
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH

If you need libcuda.so you need to compile your code on a compute node with NVIDIA drivers installed, ie comp032 - comp039. It is located in /usr/lib64/libcuda.so.

Parallel Environment:

For best performance we suggest using OpenMPI. Set OMPIROOT to either of the three
OMPIROOT=/opt/openmpi-1.2.6-1/intel
OMPIROOT=/opt/openmpi-1.2.6-1/pgi
OMPIROOT=/opt/openmpi-1.2.6-1/gcc
and then
export PATH=$OMPIROOT/bin:$PATH
export LD_LIBRARY_PATH=$OMPIROOT/lib64:$LD_LIBRARY_PATH
export MANPATH=$OMPIROOT/share/man:$MANPATH

Use ompisub to submit a job, e.g.
ompisub Nx4 execfile [args]
This will create a script and submit a job. You can use the script as a template for creating more sophisticated submission scripts. You then submit it
qsub -pe openmpi n script.sh
where "n" is the number of nodes.

MVAPICH and MVAPICH2 are also available together with mpich2sub and mpichsub submission scripts respectively. The usage is similar to OpenMPI.

Intel MPI is now available too; mpich2sub submission script should be compatible with it but will need some testing.

Resource selection :

If you need to use specific nodes use qsub with -l option or add -l to your job submission script

For Harpertown nodes (x32) use -l gpgpu=false,nehalem=false
For Nehalem or Tesla nodes (x8) use -l gpgpu=true,nehalem=true
For Shanghai or FireStream nodes (x2) use -l gpgpu=true,nehalem=false

Example of submission script
#!/bin/sh
#
# Harpertown nodes
#
#$ -cwd -V -l gpgpu=false,nehalem=false
mpiexec -machinefile $HOME/.mpich/mpich_hosts.$JOB_ID -np 2 ./my.exe

File transfer :

You need to create an ssh tunnel through our gateway machine - cselog2.dl.ac.uk
(an ssh client needs to be installed)

Windows:

1) open command prompt and type
ssh -L 33022:cseht.dl.ac.uk:22 <userID>@cselog2.dl.ac.uk
[you will be asked for password on cselog2]
2) open another command prompt
ssh -p 33022 <userID>@localhost
[you will be asked for password on cseht]
3) you can now copy through the ssh tunnel
scp -P 33022 <source> <target>
where <source> and <target> can be either local destination <file or directory> or remote destination <user>@localhost:<file or directory>

Linux:

The steps are the same except you can add -fN to ssh in the first step as
ssh -fNL 33022:cseht.dl.ac.uk:22 <userID>@cselog2.dl.ac.uk

 

 

back to top
Page last updated 14.09.2009 22:32
© STFC 2007
For more info about DisCo please contact Igor Kozin