/
MiniWeather

MiniWeather


Download source code

git clone https://github.com/mrnorman/miniWeather.git cp -r miniWeather/c collision cd collision

CPU jobs

  1. Load modules

    module purge module load cpeCray/23.03 module load cray-parallel-netcdf/1.12.3.3
  2. Configure

    export CXX="CC -craype-verbose" cmake . -DOPENMP_FLAGS="-fopenmp" \ -DNX=2000 -DNZ=1000 -DSIM_TIME=1000 -DOUT_FREQ=50 -DDATA_SPEC=DATA_SPEC_COLLISION
  3. Make

    make
  4. Job script

    #!/bin/bash #SBATCH -p compute # Partition #SBATCH -N 1 # Number of nodes #SBATCH --ntasks-per-node=16 # Number of MPI processes per node #SBATCH --cpus-per-task=8 # Number of OpenMP threads per MPI process #SBATCH -t 02:00:00 # Job runtime limit #SBATCH -A ltXXXXXX # Billing account *** USER EDIT *** #SBATCH -J MiniWeather # Job name module purge module load cpeCray/23.03 module load cray-parallel-netcdf/1.12.3.3 export PATH=/--path-to-collision-dir--:${PATH} # *** USER EDIT *** export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} srun --cpus-per-task=${SLURM_CPUS_PER_TASK} openmp

GPU jobs

  1. Load modules

    module purge module load cpeCray/23.03 module load cray-parallel-netcdf/1.12.3.3 module load cudatoolkit/23.3_11.8 module load craype-accel-nvidia80
  2. Configure

    export CXX="CC -craype-verbose" export LDFLAGS="-lcudart" cmake . -DOPENMP_FLAGS="-fopenmp" -DOPENMP45_FLAGS="-fopenmp" \ -DNX=2000 -DNZ=1000 -DSIM_TIME=1000 -DOUT_FREQ=50 -DDATA_SPEC=DATA_SPEC_COLLISION
  3. Make

    make
  4. Job script

    #!/bin/bash #SBATCH -p gpu # Partition #SBATCH -N 1 # Number of nodes #SBATCH --gpus-per-node=1 # Number of GPU card per node #SBATCH --ntasks-per-node=1 # Number of MPI processes per node #SBATCH --cpus-per-task=16 # Number of OpenMP threads per MPI process #SBATCH -t 02:00:00 # Job runtime limit #SBATCH -A ltXXXXXX # Billing account *** USER EDIT *** #SBATCH -J MiniWeather # Job name module purge module load cpeCray/23.03 module load cray-parallel-netcdf/1.12.3.3 module load cudatoolkit/23.3_11.8 module load craype-accel-nvidia80 export PATH=/--path-to-collision-dir--:${PATH} # *** USER EDIT *** export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} srun --cpus-per-task=${SLURM_CPUS_PER_TASK} openmp45

(Extra) Post-processing

module purge module load Mamba/23.11.0-0 conda activate netcdf-py39 ncview ./output.nc conda deactivate

To use ncview, users must login with X11Forwarding enabled; echo ${DISPLAY} should not be empty.

MiniWeather_Collision.gif
Figure 1: MiniWeather – Colliding Thermals

 

Related content