mirror of
https://github.com/smyalygames/FiniteVolumeGPU_HIP.git
synced 2025-05-18 06:24:11 +02:00
46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# FiniteVolumeGPU
|
|
|
|
This is a HIP version of the [FiniteVolume code](https://github.com/babrodtk/FiniteVolumeGPU) (work in progress). It is a Python software package that implements several finite volume discretizations on Cartesian grids for the shallow water equations and the Euler equations.
|
|
|
|
## Setup
|
|
A good place to start exploring this codebase is the notebooks. Complete the following steps to run the notebooks:
|
|
|
|
1. Install conda (see e.g. Miniconda or Anaconda)
|
|
2. Change directory to the repository root and run the following commands
|
|
3. conda env create -f conda_environment.yml
|
|
4. conda activate ShallowWaterGPU
|
|
5. jupyter notebook
|
|
|
|
Make sure you are running the correct kernel ("conda:ShallowWaterGPU"). If not, change kernel using the "Kernel"-menu in the notebook.
|
|
|
|
If you do not need to run notebooks you may use the conda environment found in conda_environment_hpc.yml
|
|
|
|
## Troubleshooting
|
|
Have a look at the conda documentation and https://towardsdatascience.com/how-to-set-up-anaconda-and-jupyter-notebook-the-right-way-de3b7623ea4a
|
|
|
|
## Setup on LUMI-G
|
|
Here is a step-by-step guide on installing packages on LUMI-G
|
|
|
|
### Step 0: load modules
|
|
```
|
|
ml LUMI/23.03
|
|
ml lumi-container-wrapper
|
|
ml cray-python/3.9.13.1
|
|
```
|
|
|
|
### Step 1: run conda-container
|
|
Installation via conda can be done as:
|
|
```
|
|
conda-containerize new --prefix MyCondaEnv conda_environment_lumi.yml
|
|
```
|
|
where the file `conda_environment_lumi.yml` contains packages to be installed.
|
|
|
|
### Step 2: Set the env. variable to search for binaries
|
|
```
|
|
export the bin path: export PATH="$PWD/MyCondaEnv/bin:$PATH"
|
|
```
|
|
### An alternative: Convert to a singularity container with cotainr
|
|
```
|
|
cotainr build my_container.sif --system=lumi-g --conda-env=conda_environment_lumi.yml
|
|
```
|