Skip to content

Get Started with LUMI

Please read through all of this carefully before you start running on LUMI. Here we describe a few sets of basic rules and the important information that you need to get started.

Access to LUMI

Users with Finnish allocation

This section does not apply for users with a Finnish allocation (via MyCSC). These users are invited to follow the instruction starting from the next section.

To access LUMI, you need to be a member of a project. LUMI Countries have different policies for LUMI access. An overview of the access policies is provided here.

Resource allocators of each country will create the project and invite the PI. The project PI can then invite members based on email addresses. If you have been granted access to LUMI but didn't receive an invitation to a project, please contact your PI or local HPC center.

In order to access the portal, you need to register to MyAccessID. The procedure depends on the country but in general this can be achieved via the Sign in with MyAccessID. The authentication is done with your home organization identity provider, which can be selected from the list. In case that is not possible please contact the support team with the error message. You may also contact your identity provider directly.

For the next step, you will be directed to the registration page, where you have to accept the Acceptable Use Policy and LUMI Terms of Use document, which is linked there. Please read it carefully!

Screenshot of registration portal
MyAccessID Registration portal

You may also modify the email address, but according to LUMI Terms of Use you must use your institutional email address.

Setting up SSH key pair

You can only log in to LUMI using SSH keys. There are no passwords. In order for this to work, you need to register your SSH key with MyAccessID, from where LUMI will fetch it. The portal is the only way to add an SSH key. If you have a Finnish allocation, then, you have to add your key to your MyCSC profile.

Generate your SSH keys

After registration, you need to register a public key (Note! Key must be RSA 4K bits or ed25519). In order to do that you need to generate an SSH key pair.

An SSH key pair can be generated in the Linux, macOS, Windows PowerShell and MobaXterm terminal. It is important to create a long enough key length. For example, you can use the following command to generate a 4096 bits RSA key:

ssh-keygen -t rsa -b 4096

or for a ed25519 key:

ssh-keygen -t ed25519

You will be prompted for a file name and location where to save the key. Accept the defaults by pressing Enter. Alternatively, you can choose a custom name and location. For example /home/username/.ssh/id_rsa_lumi.

Next, you will be asked for a passphrase. Please choose a secure passphrase. It should be at least 8 characters long and should contain numbers, letters and special characters. Do not leave the passphrase empty.

After that a SSH key pair is created. If you choose the name given as an example, you should have files named id_rsa_lumi and id_rsa_lumi.pub in your .ssh directory.

An SSH key pair can be generated with the PuTTygen tool or with MobaXterm (Tools MobaKeyGen). Both tools are identical.

In order to generate your key pairs for LUMI, choose the option RSA and set the number of bits to 4096. The, press the Generate button.

Create SSH key pair with windows - step 1

You will be requested to move the mouse in the Key area to generate some entropy; do so until the green bar is completely filled.

Create SSH key pair with windows - step 2

After that, enter a comment in the Key comment field and a strong passphrase. Please choose a secure passphrase. It should be at least 8 characters long and should contain numbers, letters and special characters. Do not leave the passphrase empty.

Create SSH key pair with windows - step 3

The next step is to save your public and private key. Click on the Save public key button and save it to the desired location (for example, with id_rsa_lumi.pub as a name). Do the same with your private key by clicking on the Save private key button and save it to the desired location (for example, with id_rsa_lumi as a name).

Note

The private key should never be shared with anyone, not even with LUMI staff. It should also be stored only in the local computer (public key can be safely stored in cloud services). Protect it with a good password! Otherwise, anyone with access to the file system can steal your SSH key.

Upload your public key

Now that you have generated your key pair, you need to set up your public key in your user profile. From there, the public key will be copied to LUMI with some delay according to the synchronization schedule.

To register your key, click on the Settings item of the menu on the left as shown in the figure below. Then select Ssh keys. From here you can add a new public key or remove an old one. Note: SSH key structure is algorithm, key, comment. Please EXCLUDE comment from your copy/paste.

Screenshot of user profile settings to setup ssh public key
MyAccessID Own profile information to add ssh public key.

Now that you have generated your key pair, you need to set up your public key in your user profile. From there, the public key will be copied to LUMI with some delay according to the synchronization schedule.

To register your key with MyCSC, click on My Profile item of the menu on the left as shown in the figure below. Then scroll to the end and in the SSH PUBLIC KEYS panel click the Modify button. From here, click the Add new button and paste your new public key in the text area and click Add.

Screenshot of user profile settings to setup ssh public key
MyCSC profile information to add ssh public key.

After registering the key, there can be a couple of hours delay until it is synchronized. You will receive your username via email once your account is created.

How to log in

Connect using a ssh client:

ssh -i<path-to-private-key> <username>@lumi.csc.fi

where you need to replace username with your own username, which you received via email during the registration. If you cannot get a connection at all, your IP number range might be blocked from login. Please contact the support.

Running

When you log in to LUMI, you end up on one of the login nodes. These login nodes are shared by all users and they are not intended for heavy computing.

The login nodes should be used only for:

  • compiling (but consider allocating a compute for large build jobs)
  • managing batch jobs
  • moving data
  • light pre- and postprocessing (a few cores / a few GB of memory)

All the other tasks should be done on the compute nodes either as normal batch jobs or as interactive batch jobs. Programs not adhering to these rules will be terminated without warning.

Compute intensive jobs must be submitted to the job scheduling system. LUMI uses Slurm as the job scheduler. In order to run, you need a project allocation. You need to specify your project ID in your job script (or via the command line when submitting your job) in order for your job to be submitted to the queue.

Missing

Commands to gather information about the project and quota are not available yet. However, you can use the groups command to retrieve your project ID when connected to LUMI: you should see that you are part of a group named project_xxxxxxxxx.

Here is a typical batch script for Slurm. This script runs an application on 2 compute nodes with 16 MPI ranks on each node (32 total) and 8 OpenMP threads per rank.

$ cat batch_script.slurm
#!/bin/bash -l
#SBATCH --job-name=test-job
#SBATCH --account=<project_xxxxxxxxx>
#SBATCH --time=01:00:00
#SBATCH --nodes=2
#SBATCH --ntasks=32
#SBATCH --ntasks-per-node=16
#SBATCH --cpus-per-task=8
#SBATCH --partition=standard

export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
srun ./application

Where to store data

On LUMI, there are several disk areas: home, projects, scratch (LUMI-P) and fast flash-backed scratch (LUMI-F). Please familiarize yourself with the areas and their specific purposes.

Path Description
Home /users/<username> for user configuration files and source code
Project: /project/<project_name> act as the project home directory
Scratch /scratch/<project_name> intended as temporary storage for input, output or checkpoint data of your application
Flash /flash/<project_name> fast scratch space based on flash storage

Compiling and Developing your Code

LUMI comes with multiple programming environments: Cray, GNU, and AOCC. In addition, the most common libraries used in an HPC environment tuned for LUMI are also available. Parallel debugger and profiling tools are also at one's disposal.

Getting Help

The LUMI User Support Team is here to help if you have any questions or problems regarding your usage of LUMI. You can contact the support team here.