Skip to content

Commit

Permalink
Shoplifted version - 2021-07-08
Browse files Browse the repository at this point in the history
  • Loading branch information
mmesiti committed Jul 8, 2021
1 parent 4f9ca92 commit 13fec80
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Make/MkFlags.A64FX
@@ -1,6 +1,6 @@
#Include this file at the end of MkFlags

#Compiler
CC = mpifccpx
MPICC = mpifccpx
CFLAGS = -std=c99 -O3

2 changes: 1 addition & 1 deletion Make/MkFlags.AArch64
@@ -1,6 +1,6 @@
#Include this file at the end of MkFlags

#Compiler
CC = mpicc
MPICC = mpicc

CFLAGS = -std=c99 -O3
2 changes: 1 addition & 1 deletion Make/MkFlags.OpenPOWER
@@ -1,6 +1,6 @@
#Include this file at the end of MkFlags

#Compiler
CC = mpcc_r
MPICC = mpcc_r

CFLAGS = -q64 -O4 -qarch=pwr5 -qtune=pwr5 -qstrict
2 changes: 1 addition & 1 deletion Make/MkFlags.x86-64
@@ -1,6 +1,6 @@
#Include this file at the end of MkFlags

#Compiler
CC = mpicc
MPICC = mpicc
CFLAGS = -std=c99 -O3

2 changes: 1 addition & 1 deletion Make/MkFlags.x86-64_alt
@@ -1,6 +1,6 @@
#Include this file at the end of MkFlags

#Compiler
CC = mpicc
MPICC = mpicc
CFLAGS = -wd593 -wd188 -wd981 -wd177 -wd869 -std=c99 -O2

33 changes: 24 additions & 9 deletions README.md
@@ -1,7 +1,7 @@
![SOMBRERO](sombrero.png)

* [HiRep version: 022f909](https://github.com/sa2c/HiRep/tree/022f909)
* [SOMBRERO base version: 31eb5fe](https://github.com/sa2c/SOMBRERO/tree/31eb5fe)
* [SOMBRERO base version: f4d4120](https://github.com/sa2c/SOMBRERO/tree/f4d4120)
* [shoplifter version: 2ed4c5e](https://github.com/sa2c/shoplifter/tree/2ed4c5e)

A benchmarking utility for high performance computing based on lattice field theory applications.
Expand All @@ -10,7 +10,7 @@ A benchmarking utility for high performance computing based on lattice field the

Requires an MPI library and compiler.

## Set Up
## Setup

1. Clone the repository

Expand All @@ -29,7 +29,7 @@ make
### Setup with Spack

Install and configure the package `sombrero`
as you would do with a regular spack package.
as you would do with a regular Spack package.

## Usage

Expand All @@ -39,15 +39,15 @@ To run all benchmarks use the `sombrero.sh` script:
./sombrero.sh -n <num-cores> [ -w ] [ -s small | medium | large | very_large ]
```

By default this will run a medium scale problem using `<num-cores>` mpi ranks.
The problem size independent of the number of processes.
By default this will run a medium scale problem using `<num-cores>` MPI ranks.
The problem size is independent of the number of processes.
This is useful for strong scaling.

All output is printed to stdout and error messages to stderr.

### Usage with Spack

When using spack, once sombrero has been installed,
When using Spack, once SOMBRERO has been installed,
loading the `sombrero` package with `spack load sombrero`
will make `sombrero.sh` available
in the PATH environment variable,
Expand All @@ -60,7 +60,7 @@ sombrero.sh -n <num-cores> [ -w ] [ -s small | medium | large | very_large ]
## Parameters

`-n <num-cores>`: </br>
&nbsp;&nbsp;&nbsp; Set the number of mpi ranks. SOMBRERO will attempt to divide the problem accross the ranks automatically. The number of ranks `num-cores` should be a power of 2, `num-cores = 2^n`. This can be multiplied by a factor of 3, `num-cores = 3 * 2^n`.
&nbsp;&nbsp;&nbsp; Set the number of MPI ranks. SOMBRERO will attempt to divide the problem accross the ranks automatically. The number of ranks `num-cores` should be a power of 2, `num-cores = 2^n`. This can be multiplied by a factor of 3, `num-cores = 3 * 2^n`.

`-s small | medium | large | very_large:`</br>
&nbsp;&nbsp;&nbsp; Specify the problem size. Compatible with weak or strong scaling.
Expand Down Expand Up @@ -165,9 +165,9 @@ Additional parameters `-l` and `-p` exist for more precise control of the proble
&nbsp;&nbsp;&nbsp; Set the lattice size in each direction. Replace each `N` with an integer larger or equal to 4.

`-p NxNxNxN`:</br>
&nbsp;&nbsp;&nbsp; Manually partition the lattice among the mpi ranks. The lattice is divided accross `N` ranks in each direction. A positive integer must be used.
&nbsp;&nbsp;&nbsp; Manually partition the lattice among the MPI ranks. The lattice is divided accross `N` ranks in each direction. A positive integer must be used.

Once compiled, binaries for individual test cases can be found in the sombrero folder. For example the case 3 can be run separately with
Once compiled, binaries for individual test cases can be found in the `sombrero` folder. For example the case 3 can be run separately with

```
mpirun -n Np sombrero/sombrero3 -s medium
Expand All @@ -179,3 +179,18 @@ The verbose mode will produce additional information:
mpirun -n Np sombrero/sombrero3 -s medium -v verbose
```

In case SOMBRERO was installed with Spack,
in order to run a specific benchmark separately
one has to use the full path to the executable program.
To do so,
once SOMBRERO is loaded by Spack with the command

```
spack load sombrero
```

one can run case 3 with

```
mpirun -n 2 $(which sombrero.sh | xargs dirname)/sombrero/sombrero3 -s small
```
2 changes: 1 addition & 1 deletion sombrero/sombrero.c
Expand Up @@ -345,7 +345,7 @@ int main(int argc, char *argv[]) {
lprintf("MAIN", 0,
"SOMBRERO built from HiRep commit 022f909\n");
lprintf("MAIN", 0,
"Base SOMBRERO commit 31eb5fe\n");
"Base SOMBRERO commit f4d4120\n");
lprintf("MAIN", 0,
"SOMBRERO built using shoplifter commit 2ed4c5e\n");

Expand Down

0 comments on commit 13fec80

Please sign in to comment.