Science Score: 62.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
✓Institutional organization owner
Organization fzj-jsc has institutional domain (www.fz-juelich.de) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.4%) to scientific vocabulary
Repository
JUPITER Benchmark Suite: nekRS Benchmark
Basic Info
- Host: GitHub
- Owner: FZJ-JSC
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 24.4 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 2
Metadata Files
README.md
JUPITER Benchmark Suite: nekRS
This benchmark is part of the JUPITER Benchmark Suite. See the repository of the suite for some general remarks.
This repository contains the nekRS benchmark. DESCRIPTION.md contains details for compilation, execution, and evaluation.
NekRS is an open-source GPU-accelerated Navier Stokes solver based on the spectral element method.
The provided case is a mesoscale convection case. It is based on the RBC (Rayleigh-Bénard convection) example of nekRS and calculates the turbulence induced by a temperature gradient. Depending on the grid resolution, this allows simulations of high Rayleigh numbers while using low Prandtl numbers. To keep the case similar for all cases, and the low resolution for the 1 node cases, the Rayleigh number will be 100000 and the Prandtl number 0.7. The simulation domain is a "sheet", therefore much greater extent in X and Y direction than Z direction. These scaling tests run just a short time, therefore still in the initialization of the fluid motion, doing 600 time steps.
The source code of nekRS is included in the ./src/ subdirectory as a submodule from the upstream nekRS repository at github.com/Nek5000/nekRS.
Quickstart
Execution
Overview over the provided cases, the baseline case is the default option.
| Name | JUBE flag | Node counts | GPU Memory Utilization on A100 | |------------------|---------------|-------------------------|----------------------------| | baseline | - | 8 | 100% | | scaling | scaling | 1, 2, 4, 6, 8 | 100% (on one node) | | largescaling | largescaling | 64, 128, 256, 384 | 100% (on 64 nodes) | | highlarge | highlarge | 642 | 100% | | highmedium | highmedium | 642 | 75% | | highsmall | highsmall | 642 | 50% |
Running
The JUBE step execute will submit the job to the batch system, by using the batch submission script template (via platform.xml) with information specified in the top of the script relating to the number of nodes and tasks per node.
Via dependencies, the JUBE step execute calls the JUBE steps that compile nekRS and genbox automatically.
To submit a self-contained benchmark run to the batch system, call jube run benchmark/jube/default.yaml.
JUBE will generate the necessary configuration and files, and submit the benchmark to the batch engine.
The following parameters of the JUBE script might need to be adapted:
- taskspernode and gres: Should be equal to the number of GPUs
- threadspertask: Divide your threads equally onto all tasks
- queue and account: SLURM queue and account to use
- modules: To be sourced before building and running
Additional JUBE flags can be used to differentiate between the runs:
jube run benchmark/jube/default.yaml --tag=scaling
Results
Once all runs are completed, the results can be generated with jube result -a src --style csv. JUBE will also write the generated table into src/000000/result/result.dat into csv format.
Owner
- Name: Jülich Supercomputing Centre
- Login: FZJ-JSC
- Kind: organization
- Location: Germany
- Website: https://www.fz-juelich.de/en/ias/jsc
- Twitter: fzj_jsc
- Repositories: 29
- Profile: https://github.com/FZJ-JSC
Jülich Supercomputing Centre provides HPC resources and expertise. Part of Forschungszentrum Jülich.
Citation (CITATION.cff)
cff-version: 1.2.0
title: "JUPITER Benchmark Suite: nekRS"
message: >-
In addition to citing this benchmark repository, please also cite either the JUPITER Benchmark Suite or the accompanying SC24 paper
authors:
- given-names: Christian
family-names: Witzler
affiliation: Forschungszentrum Jülich, Jülich Supercomputing Centre
orcid: 'https://orcid.org/0000-0002-6423-8590'
- given-names: Jonathan
family-names: Windgassen
affiliation: Forschungszentrum Jülich, Jülich Supercomputing Centre
orcid: 'https://orcid.org/0009-0007-1172-2366'
- given-names: Mathis
family-names: Bode
affiliation: Forschungszentrum Jülich, Jülich Supercomputing Centre
orcid: 'https://orcid.org/0000-0001-9922-9742'
- given-names: Andreas
family-names: Herten
affiliation: Forschungszentrum Jülich, Jülich Supercomputing Centre
orcid: 'https://orcid.org/0000-0002-7150-2505'
- given-names: Sebastian
family-names: Achilles
affiliation: Forschungszentrum Jülich, Jülich Supercomputing Centre
orcid: 'https://orcid.org/0000-0002-1943-6803'
abstract: "The nekRS benchmark of the JUPITER Benchmark Suite"
identifiers:
- type: doi
value: 10.5281/zenodo.12788254
description: Version-agnostic Zenodo Identifier
repository-code: 'https://github.com/FZJ-JSC/jubench-nekrs/'
license: MIT
date-released: '2024-07-13'
references:
- title: "JUPITER Benchmark Suite"
type: software
doi: 10.5281/zenodo.12737073