Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • gpu_offloading gpu_offloading
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Okke van Eck
  • gpu_offloadinggpu_offloading
  • Wiki
  • 2. Nemo standalone

2. Nemo standalone · Changes

Page history
Update 2. Nemo standalone authored Nov 06, 2023 by Okke van Eck's avatar Okke van Eck
Hide whitespace changes
Inline Side-by-side
2.-Nemo-standalone.md
View page @ 5666187e
In order to test our GPU porting on Nemo, we created a standalone project called [nemo-build](https://earth.bsc.es/gitlab/amedvede/nemo-build) on GitLab. This repository is meant as a developer environment for future changes. It's README will guide you through the installation and modification process. In order to test our GPU porting on Nemo, we created a standalone project called [nemo-build](https://earth.bsc.es/gitlab/amedvede/nemo-build) on GitLab. This repository is meant as a developer environment for future changes. It's README will guide you through the entire installation and modification process in detail.
The project pulls the source from our own Nemo repository, called [NEMOGCM_V40](https://earth.bsc.es/gitlab/amedvede/nemogcm_v40), which is a copy of the one from ECMWF. After finalizing changes within the nemo-build environment, you can then create a merge request in NEMOGCM_V40. This is the repository that later will be merged with the official one from ECMWF. The project pulls the source from our own Nemo repository, called [NEMOGCM_V40](https://earth.bsc.es/gitlab/amedvede/nemogcm_v40), which is a copy of the one from ECMWF. After finalizing changes within the nemo-build environment, you can then create a merge request in NEMOGCM_V40. This is the repository that later will be merged with the official one from ECMWF.
\ No newline at end of file
The sections below will give a short overview of:
1) How to quickly build and test the Nemo standalone
2) The different ways of running Nemo (e.g. interactive, GPU on/off, Reproducible, etc.)
3) The workflow for making changes to the source code
## 1. Build & Test
The following list is for a first time setup:
1) Clone repository recursively:
```bash
git clone --recursive https://earth.bsc.es/gitlab/amedvede/nemo-build.git
```
2) Clone required data files into your `$HOME/data`
3) Make a symlink for your platform, e.g.:
```bash
ln -s env-lumi.g env.sh
```
After the initial setup, you can use the steps below for running and making changes to Nemo:
1) Export the required environment variables depending on what version you want to build:
```bash
export PACKAGE_VERSIONS="nemo:DE340_LOCAL^HEAD^<BRANCH_NAME>"
export NEMO_WITH_REPRODUCIBLE=1
export NEMO_WITH_GPU=1
```
2) Download the source code with `./dnb.sh :d`
3) Unpack, Build, and Install the downloaded version with `./dnb.sh`
After the installation step, you have a folder called `sandbox`, which contains everything needed to run Nemo.
## 2. Ways of running
## 3. Workflow for making changes
\ No newline at end of file
Clone repository
  • 0. Sources
  • 0.a. Documentation & Manuals
  • 0.b. Slides
  • 0.c. Papers
  • 0.d. Misc
  • 1. Offloading process
  • 1.a. Supercomputers
  • 1.b. Compilers
  • 1.c. OpenMP directives
  • 1.d. Profiling & Debugging
  • 1.e Performance hazards
  • 2. Nemo standalone
  • 3. Tools
  • 3.a. Intel Offload Advisor & Intel VTune
  • 3.b. CPU and GPU performance overview
View All Pages