| ... | ... | @@ -10,7 +10,7 @@ The overall procedure is as follows: |
|
|
|
4. [Compile and build](https://gitlab.jsc.fz-juelich.de/caviedesvoullieme1/serghei_tutorial/-/wikis/SERGHEI-tutorial#compiling-and-building)
|
|
|
|
5. [Run a test case](https://gitlab.jsc.fz-juelich.de/caviedesvoullieme1/serghei_tutorial/-/wikis/SERGHEI-tutorial#running-a-test-cases)
|
|
|
|
|
|
|
|
# Log into JSC systems
|
|
|
|
# 1. Log into JSC systems
|
|
|
|
|
|
|
|
In this tutorial we will use JSC's [JURECA-DC](https://www.fz-juelich.de/en/news/archive/press-release/2021/2021-06-23-jureca-dc) machine. You can find JURECA-DC's hardware configuration [here](https://apps.fz-juelich.de/jsc/hps/jureca/configuration.html), which is part of the [full user documentation](https://apps.fz-juelich.de/jsc/hps/jureca/index.html). General rules and procedures for gaining [access](https://apps.fz-juelich.de/jsc/hps/jureca/access.html) to the machine are part of this documentation.
|
|
|
|
|
| ... | ... | @@ -21,7 +21,7 @@ For this tutorial, you already have a JSC account and ssh keys ready, so we will |
|
|
|
```ssh jureca```
|
|
|
|
|
|
|
|
|
|
|
|
# Get SERGHEI from a repository
|
|
|
|
# 2. Get SERGHEI from a repository
|
|
|
|
|
|
|
|
SERGHEI is available at https://gitlab.com/serghei-model/serghei. You can simply click on the link to see the project GitLab repository.
|
|
|
|
|
| ... | ... | @@ -39,7 +39,7 @@ You can now navigate to the SERGHEI root directory `cd serghei` |
|
|
|
|
|
|
|
Check the path to the current directory using the `pwd` command. This should return be the absolute path to the local working copy of the repository (i.e., the `serghei` directory).
|
|
|
|
|
|
|
|
# Preparing the environment
|
|
|
|
# 3. Preparing the environment
|
|
|
|
|
|
|
|
## Environmental variable
|
|
|
|
|
| ... | ... | @@ -110,7 +110,7 @@ Kokkos is available in GitHub at https://github.com/kokkos/kokkos.git. To clone |
|
|
|
|
|
|
|
Usually dependencies need to be built in the system (so that they are available locally as a binary, or through a module). For SERGHEI, Kokkos does not need to be built beforehand. It will be built when we build SERGHEI, if the path to Kokkos is properly set in the next step.
|
|
|
|
|
|
|
|
# Compiling and building
|
|
|
|
# 4. Compiling and building
|
|
|
|
|
|
|
|
1. navigate to `serghei/src/`.
|
|
|
|
2. Open the `Makefile`. This is a script which controls how SERGHEI is compiled. Note that there are some definitions early on. In particular `KOKKOS_PATH` and `KOKKOS_SRC_PATH` are defined as a function of `HOME`. Note that the `Makefile` assumes that `KOKKOS_PATH` will be in `HOME` path. `HOME` is an environmental variable which contain the path to your home directory. Exit the file and check what your HOME environmental variable contains.
|
| ... | ... | @@ -122,7 +122,7 @@ would use 8 threads to run the compilation. Give this a try. If everything is co |
|
|
|
|
|
|
|
3- check that the `serghei` binary exists at `serghei/bin`.
|
|
|
|
|
|
|
|
# Running a test case
|
|
|
|
# 5. Running a test case
|
|
|
|
|
|
|
|
Let's run a simple test to check if everything is working fine. We will use an analytical dam break case, included with SERGHEI as a unit test.
|
|
|
|
|
| ... | ... | |
| ... | ... | |