Navigation
- Spack usage disclaimer, copyright and trademark notice
- Introduction to SPACK
- Getting Started
- Build Customization
- Technical Support
AMD Toolchain with SPACK
Micro Benchmarks/Synthetic
SPACK HPC Applications
Introduction
CloverLeaf® is a mini-app that solves the compressible Euler equations on a Cartesian grid using an explicit second-order accurate method. Each cell stores three values: energy, density, and pressure. A velocity vector is stored at each cell corner. This arrangement of data with some quantities at cell centers and others at cell corners is known as a staggered grid.
Official Website for CloverLeaf: https://uk-mac.github.io/CloverLeaf/
Note: CloverLeaf master consists of various build types such as Reference, Serial, MPI, OpenMP, and so on. Here, only Reference build type that features both MPI and OpenMP as default has been covered.
Build CloverLeaf Using Spack
Reference to add external packages to Spack: Build Customization (Adding external packages to Spack)
# Format For Building CloverLeaf_ref with AOCC $ spack install -v cloverleaf@<Version> build=<build_type>%aocc@<Version> target=<zen2/zen3> ^openmpi@<Version> |
# Example: For building CloverLeaf_ref 1.3 with AOCC 3.2.0 $ spack -d install -v cloverleaf@master build=ref %aocc@3.2.0 target=zen3 ^openmpi@4.1.1 fabrics=auto |
# Example: For building CloverLeaf_ref 1.3 with AOCC 3.1.0 $ spack -d install -v cloverleaf@master build=ref %aocc@3.1.0 target=zen3 ^openmpi@4.0.5 fabrics=auto |
# Example: For building CloverLeaf_ref 1.3 with AOCC 3.0.0 $ spack -d install -v cloverleaf@master build=ref %aocc@3.0.0 target=zen3 ^openmpi@4.0.5 fabrics=auto |
Use any combination of the following components/applications and their versions:
Component/Application | Versions Applicable |
CloverLeaf_ref | 1.3 (master) |
AOCC | 3.2.0, 3.1.0, 3.0.0 |
Specifications and Dependencies
Symbol | Meaning |
-d | To enable debug output |
-v | To enable verbose |
@ | To specify version number |
% | To specify compiler |
+debug | Build with DEBUG flags |
+ieee | To build with IEEE standards |
^openmpi fabrics=auto | To build with Open MPI and using fabrics=auto |
Running CloverLeaf
CloverLeaf does not accept command line arguments. It expects to find a file called clover.in in the directory it is running in.
There are a number of input files that come with the code. To use any of these, they must be copied to clover.in in the run directory and CloverLeaf invoked.
Setting Environment |
# Format for loading CloverLeaf_ref build with AOCC $ spack load cloverleaf@<Version> %aocc@<Version> |
# Example: Load CloverLeaf_ref-v.1.3 build with AOCC-3.2.0 module into environment $ spack load cloverleaf@master %aocc@3.2.0 |
Obtaining Benchmarks |
# The dataset clover_bm1024_short.in can be downloaded (manually) from the following location: # https://github.com/UK-MAC/CloverLeaf_CAF_buffers/blob/master/clover_bm1024_short.in |
Run Command |
# Locate installation of binaries $ spack cd -i cloverleaf@master
$ cd bin/ $ export OMP_NUM_THREADS=1
$ mpirun -np 128 clover_leaf |