Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
Cluster configurations

This section describes the configuration of the Neko-TOP library for different clusters. Each section will describe the preparation needed to run the library on the given cluster. The preparation is done in a prepare.env file which is loaded by the setup.sh script. The prepare.env file is also loaded by the run.sh script, so it is possible to define environment variables for the a given example.

Lumi

LUMI is a supercomputer located in Europe, and it is one of the fastest supercomputers in the world. The system is based on AMD EPYC processors and AMD GPUs. The system is managed by the LUMI consortium, which includes Finland, Sweden, Norway, and Denmark. The system is used for a wide range of scientific applications, including climate modeling, astrophysics, and computational fluid dynamics.

Please visit the LUMI website for more information about the system and its capabilities.

Environment setup

The following example shows how to set up the environment for LUMI. The prepare.env file should be placed in the root of the Neko-TOP directory. The setup.sh script will automatically load the prepare.env file if it exists. The prepare.env file should contain the following lines:

#!/bin/bash
# Load the required modules
module load LUMI/24.03 partition/C # Load the LUMI module and the partition
module load PrgEnv-gnu # Load desired programming environment
module load cray-libsci buildtools # Note: Support for BLAS, LAPACK and cmake
# Assign the compiler environment variables
export MPIFC=$(which ftn)
export MPICXX=$(which CC)
export MPICC=$(which cc)
export FC=$(which ftn)
export CXX=$(which CC)
export CC=$(which cc)

Execution of examples

Examples on LUMI can be executed in two different ways, interactively or as a submitted batch job.

In order to run the examples interactively, you can use the following command:

salloc --ntasks 2 -t 00:10:00 --partition=small
./run.sh EXAMPLE_NAME

Where EXAMPLE_NAME is the name of the example you want to run. This command will allocate 2 tasks (CPI cores) for 10 minutes in the small partition. Then whenever an example is invoked from the runscript, it will be executed on the allocated resources.

In order to run the examples as a batch job, you can use the following command:

./run.sh --submit LUMI EXAMPLE_NAME

Where EXAMPLE_NAME is the name of the example you want to run. This command will submit the job to the LUMI batch system based on the jobscript provided in scripts/jobscript/lumi/ folder. The jobscript will used to specify options such as the partition, number of tasks, and time limit. The jobscript will be submitted to the LUMI batch system using the sbatch command.