User Guidelines

Obtaining an Account

To be able to access and utilize the HPC systems in our center, you need to get a user account at one of the HPC clusters. Please contact to discuss your computational needs for your research projects, and based on your needs an account will be created for you.


Accessing the Clusters

After you receive your account information, you can go ahead and log in to the cluster(s). Please note that, our HPC clusters are behind the ETSU firewall. This means, to be able to access these machines you have to be inside the ETSU network. However, if you would like to work outside the ETSU network, you need to establish a VPN access, which is approved through OIT.

To log in to the cluster(s), you need to use an SSH client tool. Putty is a very popular, free and easy-to-use tool, that we encourage you to use for this purpose.


General Information

HPC clusters are Linux-based systems, and the main interaction is conducted through command-line tools. If you are not familiar with the Unix/Linux type of systems, you can check some online material. such as this one, to familiarize yourself.

HPC clusters consist mainly of 2 type of machines. First one is the frontend node. This is the machine that you log in, and do most of your editing, compiling, etc. The rest of the machines are called compute nodes, and these are the machines that would execute the compute-intensive applications submitted by you. This delegation of execution is achieve through the usage of Scheduler software, which is explained below. Please note that, the frontend machine should NOT be used to perform compute-intensive tasks.


Data Storage

You have exclusive access to your home folder (/home/username), and this location can be used to store your input/output data. However, since all the users share the disk space, you will need to be careful not to take up too much space.

At this point, we would like each user to stay within the limits of 10 GB of disk space.

On Knightrider cluster, extra storage space can be made available, if you would need. This extra storage space can be used very much like your home folder, to store input/output data and execute your applications.


Compiling your Code

If you have source code that you would like to compile on the source code, there are 2 basic compiler suites that you can use on both Knightrider and Blackpearl.


Compiling with Intel Compiler Suite

Here are some basic examples for compiling code with Intel compilers:

Language Serial Program MPI Program OpenMP Program

Fortran 77


$ifort myprogram.f -o myprogram

$/share/apps/openmpi-1.4.5-intel/bin/mpif77

myprogram.f -o myprogram

$ifort -openmp myprogram.f -o myprogram

Fortran 90


$ifort myprogram.f90 -o myprogram

$/share/apps/openmpi-1.4.5-intel/bin/mpif90

myprogram.f90 -o myprogram

$ifort -openmp myprogram.f90 -o myprogram

Fortran 95

(same as Fortran 90)

(same as Fortran 90)

(same as Fortran 90)

C


$icc myprogram.c -o myprogram

$/share/apps/openmpi-1.4.5-intel/bin/mpicc

myprogram.c -o myprogram

$icc -openmp myprogram.c -o myprogram

C++


$icc myprogram.cpp -o myprogram

$/share/apps/openmpi-1.4.5-intel/bin/mpiCC

myprogram.cpp -o myprogram

$icc -openmp myprogram.cpp -o myprogram

You can get more information about the compiler options using the man command, or referring to following pages:


Compiling with GNU Compiler Suite

Here are some basic examples for compiling code with GNU compilers:

Language Serial Program MPI Program OpenMP Program

Fortran 77

$ gfortran myprogram.f -o myprogram

$ mpif77 myprogram.f -o myprogram

$ gfortran -fopenmp myprogram.f -o myprogram

Fortran 90

$ gfortran myprogram.f90 -o myprogram

$ mpif90 myprogram.f90 -o myprogram

$ gfortran -fopenmp myprogram.f90 -o myprogram

Fortran 95

$ gfortran myprogram.f95 -o myprogram

$ mpif90 myprogram.f95 -o myprogram

$ gfortran -fopenmp myprogram.f95 -o myprogram

C

$ gcc myprogram.c -o myprogram

$ mpicc myprogram.c -o myprogram

$ gcc -fopenmp myprogram.c -o myprogram

C++

$ g++ myprogram.cpp -o myprogram

$ mpiCC myprogram.cpp -o myprogram

$ g++ -fopenmp myprogram.cpp -o myprogram

You can get more information about the compiler options using the man command, or referring to following pages:


Running your Applications

As noted above, even though you can use the frontend machine to edit, compile, etc. you can not use it to execute your applications. You must use the Moab scheduler to submit your jobs, which are then executed on one or more of the compute nodes.