Difference between revisions of "FAQ"

From HPC users
Jump to navigationJump to search
Line 45: Line 45:
Basically, you need two things: <br/> '''(1) A software module''' and '''(2) a job script'''. <br/>
Basically, you need two things: <br/> '''(1) A software module''' and '''(2) a job script'''. <br/>
'''(1)''' Let's assume that you already successfully logged in.  The first thing you need to know is which software you will need to use.
'''(1)''' Let's assume that you already successfully logged in.  The first thing you need to know is which software you will need to use.
If you need an overview of the software that is currently available on our cluster, take a look at our [[Installed Application Software and Libraries | software register]] or type in ''ml av'' to get a software list for your current environment.
If you need an overview of the software that is currently available on our cluster, take a look at our [[Installed Application Software and Libraries | software register]] or type in ''ml av'' to get a software list for your current [[Software_Environments_and_their_Differences | environment]]. <br/>
We go on and assume, that you chose the software you need for your calculations. Let's pretend it's ''EGSnrc'' that you need to work with.
We go on and assume, that you chose the software you need for your calculations. Let's pretend it's ''EGSnrc'' that you need to work with.
If you want to use specific software, you ''always'' have to load it first.  
If you want to use specific software, you ''always'' have to load it first.  
So we take a look at the software's page and we see, that it is installed on the environment ''hpc-env/6.4''. (Fortunately, ''EGSnrc'' has a detailed software page on our wiki.)  
So we take a look at the software's page and we see, that it is installed on the environment ''hpc-env/6.4''. (Fortunately, ''EGSnrc'' has a detailed software page on our wiki.) <br/>
This means, we have to load the module first and then the software module:
This means, we have to load the environment first and then the software module:
  module load hpc-env/6.4
  module load hpc-env/6.4
  module load EGSnrc
  module load EGSnrc
(You can abbreviate ''module load'' with ''ml'')
(You can abbreviate ''module load'' with ''ml''.) <br/>
Now, where EGSnrc is loaded, you could start to use it. But you are currently logged in to one of our five login nodes (hpcl001-hpcl005). What you need to do, is to transfer your calculations to another node. For this, you need to use a '''(2)''' sbatch script (or ''job script'') with which you can transfer your arguments to another node and allocate specific system resources to the job.  After that, you submit the job with SLURM. We describe this procedure [[SLURM Job Management (Queueing) System | here]], but for EGSnrc, there is an additional [[EGSnrc 2016#Using EGSnrc on the HPC cluster | script example]]
Now, where EGSnrc is loaded, you could start to use it. But you are currently logged in to one of our five login nodes (hpcl001-hpcl005). What you need to do, is to transfer your calculations to another node. For this, you need to use a '''(2)''' sbatch script (or ''job script'') with which you can bundle your commands to one job, transfer it to another node, and allocate specific system resources to the job.  After that, you submit the sbatch script with SLURM. We describe this procedure [[SLURM Job Management (Queueing) System | here]], but for EGSnrc, there is an additional [[EGSnrc 2016#Using EGSnrc on the HPC cluster | script example]]
''' Creating job scripts is mandatory on our cluster! Job scripts don't just allocate system resources to your tasks, SLURM also queues every job so that the resources are shared fairly.  '''
''' Creating job scripts is mandatory on our cluster! Job scripts don't just allocate system resources to your tasks, SLURM also queues every job so that the resources are shared fairly.  '''



Revision as of 14:58, 26 March 2019

Introduction

In our Wiki, you will find a lot of often very detailed information about working in our HPC environment. However, for beginners, it can be very challenging to find the right start.

This is where our FAQ is supposed to be of help. It is designed for the very beginner and links to our Wiki resources when needed.

But also our advanced users could find some of the answers helpful.


If you think, that there are some important questions/answers missing, please let us know. This whole Wiki is a work which is permanently in progress.

F.A.Q.

The very basics

What exactly is an HPC Cluster?

An HPC cluster is a group of several high-performance computers. HPC clusters are used when the performance of one ordinary computer is no longer sufficient to perform (scientific) computations.
For comparison: An average well equipped PC has a processing unit (CPU) with ca. 4 cores and 8 - 12 Gigabyte of RAM. Our standard nodes have 24 cores with 256 GB RAM for each core. If a complete node is used to full capacity, 6144 gigabytes of RAM can be used! (A node can be seen as a single computer within the cluster)

Am I permitted to work on the cluster?

Basically, every student or scientific staff member has the right to work on the HPC cluster, as long as the computations are scientifically legitimated (which of course includes the progress of the students' education).

Nonetheless, there are a few things to consider. There are three common use cases, which we will briefly describe:

  • You are writing your Bachelor / Master / PhD thesis. In this case, it is very likely that you are already part of a workgroup. Just tell your thesis advisor that you need to take your work to the cluster and create a request (see next question).
  • You take place at a seminar which happens to work with the cluster. In this case, you don't have to do anything. Your university lecturer will take care about everything regarding the HPC login and you will get provisional login data. Your personal user account will not be touched. But after the course, you won't be able/permitted to keep using that account!
  • You are not writing on your thesis, you are not taking place in a seminar and you are not part of a workgroup. But you want to use the HPC anyway. If this is the case, please contact us at hpcsupport@uol.de. Either you will be transferred to a fitting group (after consulting the corresponding professor) or you could get an own workgroup. Either way, we will very likely find a solution that fits your needs.

I decided to work on the cluster. How do I get access?

If you want to get access to our cluster, you need to be part of a workgroup as mentioned above. If you are part of a workgroup, you can request access via our Self Service Portal of our ServiceDesk. Since we already have a step-by-step description on how to start a request, we refer to the instruction page. If your workgroup situation is unclear, just write to us at hpcsupport@uol.de.

I now have access rights for the cluster. How do I log in?

First of all, congratulations on your new HPC membership!
Now you can start working on our cluster. Depending on your operating system (Windows, Linux, or Mac), the procedure is slightly different. If you have the privilege of choice, we would always recommend Linux, since the communication Linux -> Linux is always least prone to problems (the HPC cluster environment is based on the Red Hat Enterprise Linux distribution.)
To make it short: On Linux, you open a terminal and type in

ssh abcd1234@carl.hpc.uni-oldenburg.de

On Windows, you need to type in the same address, but you additionally need a ssh compatible program like MobaXterm or Putty.
But to avert redundancy, we refer to our wiki page about login where you can find a more detailed description on how to access the cluster with Linux and/or Windows.

Working on the cluster

I want to start computing. What are the first steps?

Basically, you need two things:
(1) A software module and (2) a job script.
(1) Let's assume that you already successfully logged in. The first thing you need to know is which software you will need to use. If you need an overview of the software that is currently available on our cluster, take a look at our software register or type in ml av to get a software list for your current environment.
We go on and assume, that you chose the software you need for your calculations. Let's pretend it's EGSnrc that you need to work with. If you want to use specific software, you always have to load it first. So we take a look at the software's page and we see, that it is installed on the environment hpc-env/6.4. (Fortunately, EGSnrc has a detailed software page on our wiki.)
This means, we have to load the environment first and then the software module:

module load hpc-env/6.4
module load EGSnrc

(You can abbreviate module load with ml.)
Now, where EGSnrc is loaded, you could start to use it. But you are currently logged in to one of our five login nodes (hpcl001-hpcl005). What you need to do, is to transfer your calculations to another node. For this, you need to use a (2) sbatch script (or job script) with which you can bundle your commands to one job, transfer it to another node, and allocate specific system resources to the job. After that, you submit the sbatch script with SLURM. We describe this procedure here, but for EGSnrc, there is an additional script example Creating job scripts is mandatory on our cluster! Job scripts don't just allocate system resources to your tasks, SLURM also queues every job so that the resources are shared fairly.

I need to work with specific software (versions). What can I do?

There are three different ways to get new software. But before that, you should check, if your software maybe is already installed:

module spider desired_software

You should also check our software register. If you are sure, that we currently don't provide the software, you have the following options:

  • Just ask us to install your software packet as a module. Write to us at hpcsupport@uol.de and name the software, and the source address, if you have it by hand (e.g. GitHub, homepage, etc).
  • Install it by yourself with Conda
  • Create a container containing your desired software packet with Singularity

Groups and Accounts

I'm in a new workgroup. How do I change the Unix group?

You can follow the same steps as mentioned above at how do I get access?. Just request access to your new workgroup and your groups will be changed automatically. But it's best to tell us in the web form, that this is a change request.

I started working at the university and have a second account now. How can I transfer the files between my two accounts??

With your old account, you can transfer the files you need to your new account with rsync: rsync -avz $HOME/source_directory abcd1234@carl.hpc.uni-oldenburg.de:/user/abcd1234/target_directory Where abcd1234 is your new account. See also: File System and Data Management