User Tools

Site Tools


survival_guide

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
survival_guide [2020/05/26 12:32]
agill [Software Modules on Lengau]
survival_guide [2022/02/01 18:38] (current)
alopis
Line 8: Line 8:
   - 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.   - 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.
   - 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.   - 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.
-  - You can request an interactive session, which will give you access to a compute node in the cluster.  Here you can compile programs, do pre- or post-processing, and check your job setup.+  - 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.
   - Access to the system is by means of secure-shell (ssh).   - Access to the system is by means of secure-shell (ssh).
   - Data can be copied to or from the system by means of secure copy (scp) or rsync.   - Data can be copied to or from the system by means of secure copy (scp) or rsync.
Line 19: Line 19:
  
 ===== The user interface (not) ===== ===== 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.  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: +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** - provide a list of the files in the current directory 
-  * ls -l - provide a more detailed listing 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) +  * **pwd** - gives the current directory path (Present Working Directory) 
-  * mkdir - create a new directory +  * **mkdir** - create a new directory 
-  * cd - change to a new directory +  * **cd** - change to a new directory 
-  * rmdir - remove a directory +  * **cp** - copy a file (remember to specify the file **and** the location to copy it to) 
-  * rm - remove a file +  * **mv** - move a file (either rename it or cut/paste it into a directory). 
-  * nano - start the nano text editor (recommended for beginners) +  * **rmdir** - remove a directory 
-  * vi - start the vi text editor (warning: steep learning-curve)+  * **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 ==== ==== 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. 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
  
-To list all available packagesuse the following command:+Some modules depend on other modules being loaded to work. In most cases this is automatedbut in the few cases where they are not, an error message will inform you that you need to load a certain package first.
  
-module avail+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).
  
-Most of the useful modules are part of the chpc modules groupYou can list just these as follows:+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.
  
-module avail chpc +For GCC and the Intel compilershoweveryou will have to load the modules that you wish to link your code against separately.
- +
-In a similar way, you can refine the search further, eg. +
- +
-module avail chpc/earth +
- +
-That will list all the applications and libraries in the "earth" subgroup (reserved for earth-science applications. chpc/compmech contains the computational mechanics packages (CFDFEAetc)  +
- +
-To actually load a module and be able to use the software, you should use the module load or module add command (they do the same thing), eg. +
- +
-module add gcc/6.1.0 +
- +
-module load chpc/python/3.5.2_gcc-6.2.0 +
- +
-To list all the modules that you have loaded, type: +
- +
-module list +
- +
-To unload a module, type: +
- +
-module dell gcc/6.1.0 +
- +
-and finally, to unload all modules, type: +
- +
-module purge+
  
 +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:|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.
/app/dokuwiki/data/attic/survival_guide.1590489168.txt.gz · Last modified: 2021/12/09 16:42 (external edit)