User Tools

Site Tools


survival_guide

CHPC new user's survival guide

Introduction

The purpose of this page is to provide the new user with the bare minimum of information required to start using CHPC's facilities. Please explore the rest of the Wiki for more advanced information, as well as application-specification instructions and examples.

What you need to know

  1. Most high performance computing (HPC) systems like CHPC's cluster use the Gnu/Linux operating system. Windows applications will not run on the system.
  2. The computers that make up the HPC cluster do not run faster than a good desktop computer, nor do they usually have particularly impressive amounts of memory. The performance comes from running many compute nodes in parallel. If your application is not parallelised, it will not run faster at CHPC than on a good desktop machine.
  3. The system is designed to be used in batch mode. The user prepares a job, submits it to the queue, and the system executes it when the requested amount of resources become available.
  4. You can request an interactive session, which will give you access to a compute node in the cluster. Here you can do quick tests or checks, compile programs, do pre- or post-processing, and check your job setup.
  5. Access to the system is by means of secure-shell (ssh).
  6. Data can be copied to or from the system by means of secure copy (scp) or rsync.
  7. Tasks are managed with PBS
  8. Although tasks are run in batch mode, the visualisation server makes provision for graphical pre- and post-processing.
  9. Software licensing issues still need to be taken care of appropriately. CHPC hosts academic licenses for some software suites, but for others you will need to make the necessary arrangements with the software vendors.

Logging in to CHPC

Once you have a user-id and password, you can log in to the system using ssh. If you are logging in from a system running a UNIX-like operating system, you can simply use ssh from the command line: ssh myusername@sun.chpc.ac.za. From Windows, you can log in using Cygwin or PuTTY. Once logged in you can (and should) change your password with the passwd command. Options for logging in are explained in the following guide.

The user interface (not)

Although personal computers running Linux have user interfaces that are very similar to Windows or Mac, the ssh-login to the HPC cluster runs in command line text mode only, by default using the Bash shell. It is therefore essential to master a very small subset of Linux commands. PLEASE be aware that there is NO undelete. If you delete a file from the command line, it is gone, finish, klaar, kaput, never to be seen again. The internet has many excellent resources explaining how to perform tasks in Linux and Bash. Nevertheless, here is a very short summary of the most useful instructions:

  • ls - provide a list of the files in the current directory
  • ls -l - provide a more detailed listing of the files in the current directory
  • pwd - gives the current directory path (Present Working Directory)
  • mkdir - create a new directory
  • cd - change to a new directory
  • cp - copy a file (remember to specify the file and the location to copy it to)
  • mv - move a file (either rename it or cut/paste it into a directory).
  • rmdir - remove a directory
  • rm - remove a file
  • nano - start the nano text editor (recommended for beginners)
  • vi - start the vi text editor (warning: steep learning-curve)
  • qsub - submit a batch job to PBS for processing
  • qstat -u $USER - list the status of your PBS jobs
  • qdel pbsjobnumber - remove a job from the queue if it is running or terminate it if it is running

Software Modules on Lengau

Although some basic software is immediately available on the cluster, most of the more useful software packages need to be accessed via the modules system. This includes newer and more capable versions of the gcc and intel compilers, various python versions with numpy, etc, many software libraries and specialized scientific packages. Here are examples of the most common module operations that you will need to use on the cluster:

  • module avail - To list all available packages
  • module avail 2>1 | grep searchterm will search through the modules for one containing the expression searchterm. Use the appropriate name of the software here.
  • module avail chpc - List just the chpc modules group - this contains most of the useful modules
  • module avail chpc/earth - This will list all the applications and libraries in the “earth” subgroup (reserved for earth-science applications).
  • module add gcc/6.1.0 - To load a module for use (in this case, gcc version 6.1 - replace the last part with whatever module name you want to use)
  • module load chpc/python/3.5.2_gcc-6.2.0 - An alternative to module add (in this case, loading python version 3.5.2, compiled with gcc-6.2.0)
  • module list - To list all the modules which you have already loaded in this session
  • module unload gcc/6.1.0 - To unload a module (in this case gcc version 6.1.0
  • module purge - to unload all modules that you have loaded

Some modules depend on other modules being loaded to work. In most cases this is automated, but in the few cases where they are not, an error message will inform you that you need to load a certain package first.

There are a great number of modules for use by researchers in the life sciences. Some are also generally useful, such as compilers, etc. These are accessible as follows: module avail chpc/BIOMODULES Modules for most other disciplines/research fields are organized slightly differently:

  • Computational mechanics modules (CFD, FEA, etc) are all in chpc/compmech
  • Earth-science modules are in chpc/earth
  • Some physics modules are in chpc/phys
  • Most of the computational chemistry and material science software is available directly under chpc (check chpc/BIOMODULES as well, as there is some overlap).

For python users, loading a module will also load all the python libraries associated with that python version - usually at least numpy and scipy. The most capable python modules are those in chpc/python/anaconda, which use the anaconda installation system. These are recommended for tensorflow users.

For GCC and the Intel compilers, however, you will have to load the modules that you wish to link your code against separately.

Finally, there are a few software packages (mostly those that are commercially licensed, such as Ansys/Fluent, but also a few open-source packages like OpenFOAM) which are installed on Lengau, but not available via the module system. To access these, look at their respective howto pages on this wiki.

Installing New Software on Lengau

First please check that the software which you wish to use is not available via the module system (see above) or some other means. If it is not available there, your two options are to either ask a CHPC staff member to help you install it, or to try to compile it yourself (not recommended for beginners). YOU WILL NOT BE ABLE TO INSTALL SOFTWARE AS ON LINUX ON YOUR LAPTOP - EG. “sudo apt-get install something-0.0.1” BECAUSE:

  • As a user, you don't have sudo permission, and will not be granted it under any circumstances - as a national HPC facility, this would represent an unacceptable security risk. This is not negotiable.
  • apt-get install or apt-install are specific to debian-based linux systems, which are popular for laptops, but less so for HPC. Lengau runs a different version of linux called CentOS.
  • the software available via the debian or ubuntu repositories is not optimised for HPC systems, which have special hardware configurations, and thus special software requirements.

The CHPC staff will do their best to assist you by installing the software that you request. However this may take considerable time and effort for certain pieces of software to be installed, so you may need to be patient. HPC systems are complex, so unfortunately the installation process is often also complex and tricky. Also, you should ensure that the software which you wish to use will actually benefit from being used on an HPC system. As mentioned already, some software is not written to take advantage of HPC.

If you wish to use commercially licensed software, you will need to have an appropriate license. Usually this will require a 3-way communication between you, the software licensor and the CHPC. The CHPC does have a small number of national licenses for very popular pieces of software, but is unlikely to procure new licenses of this sort at this time.

/var/www/wiki/data/pages/survival_guide.txt · Last modified: 2020/06/02 11:46 by agill