High Performance Computing (HPC) is a powerful and expensive shared service and so, it is expected that you make sure you gain the skills required to use the system efficiently and effectively to avoid potential problems. Programs that cause problems with the service or disruption for other users may be terminated and will require resolution before further runs are permitted.

To use HPC you must:

  • Have minimum basic Linux programming skills.
  • Recompile all source code using the Intel compilers. The -xP optimisation flag or stronger optimisation should be used.
  • Bring 64-bit binaries compiled for EM64T architecture on to the system (if source code is not available).
  • Tune program run parameters for best results.
  • Accurately quote resource requirements for each run on the queuing system.
  • Optimise code before it is parallelised.
  • Carefully establish scalability of parallel codes.

Training is available to support you in making the best of the facilities, whether you are a novice or more experienced.

I'm a new user

You must have minimum basic Linux programming skills to use the system. Any new users to the system must take the Linux command line for HPC beginners course, offered by the Department for Continuing Professional Development before using any HPC facilities.

I'm more experienced

Running packaged applications

If you are running installed applications, you must:

  • Be conversant in the Linux/Unix commands and proficient in using the shell.
  • Understand how I/O works in Linux and be comfortable with the file redirection and pipes.
  • Understand file systems (local and remote) and file management.
  • Be familiar with job submission and the structure of qsub files.

You can run a module available on HPC to check the full list of available applications. If you would like to suggest a new application to include, contact the HPC Service Support Team.

Running your own program

If you are planning to maintain and modify your own programs, you must:

  • Be fully conversant in Linux/Unix commands.
  • Be competent in programming and source code maintenance.
  • Have a good working knowledge of how libraries work and how to compile and load code.
  • Be able to optimise and tune your code to increase performance.

Courses for more experienced users are run on a regular basis and are tailored to the Imperial HPC facilities.