Skip to content

Commit

Permalink
preserving SPARTA documentation in the Manzano era
Browse files Browse the repository at this point in the history
  • Loading branch information
amagela committed Sep 19, 2023
1 parent cef86c7 commit 5bfa8ff
Show file tree
Hide file tree
Showing 21 changed files with 1,623 additions and 0 deletions.
104 changes: 104 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/Makefile.manzano_kokkos
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# kokkos_mpi_only = KOKKOS package with Serial backend (no OpenMP support), MPI compiler, default MPI

SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler

CC = mpicxx
CCFLAGS = -g -O3 -DSPARTA_BIGBIG
SHFLAGS = -fPIC
DEPFLAGS = -M

LINK = mpicxx
LINKFLAGS = -g -O3
LIB =
SIZE = size

ARCHIVE = ar
ARFLAGS = -rc
SHLIBFLAGS = -shared
KOKKOS_DEVICES = Serial
KOKKOS_ARCH = SKX

# ---------------------------------------------------------------------
# SPARTA-specific settings
# specify settings for SPARTA features you will use
# if you change any -D setting, do full re-compile after "make clean"

# SPARTA ifdef settings, OPTIONAL
# see possible settings in doc/Section_start.html#2_2 (step 4)

SPARTA_INC = -DSPARTA_GZIP

# MPI library, REQUIRED
# see discussion in doc/Section_start.html#2_2 (step 5)
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library

MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1
MPI_PATH =
MPI_LIB =

# JPEG library, OPTIONAL
# see discussion in doc/Section_start.html#2_2 (step 7)
# only needed if -DSPARTA_JPEG listed with SPARTA_INC
# INC = path for jpeglib.h
# PATH = path for JPEG library
# LIB = name of JPEG library

JPG_INC =
JPG_PATH =
JPG_LIB =

# ---------------------------------------------------------------------
# build rules and dependencies
# no need to edit this section

include Makefile.package.settings
include Makefile.package

EXTRA_INC = $(SPARTA_INC) $(PKG_INC) $(MPI_INC) $(JPG_INC) $(PKG_SYSINC)
EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(JPG_PATH) $(PKG_SYSPATH)
EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(JPG_LIB) $(PKG_SYSLIB)
EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS)
EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS)

# Path to src files

vpath %.cpp ..
vpath %.h ..

# Link target

$(EXE): $(OBJ) $(EXTRA_LINK_DEPENDS)
$(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)
$(SIZE) $(EXE)

# Library targets

lib: $(OBJ) $(EXTRA_LINK_DEPENDS)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)

shlib: $(OBJ) $(EXTRA_LINK_DEPENDS)
$(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \
$(OBJ) $(EXTRA_LIB) $(LIB)

# Compilation rules

%.o:%.cpp $(EXTRA_CPP_DEPENDS)
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<

%.d:%.cpp $(EXTRA_CPP_DEPENDS)
$(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@

%.o:%.cu $(EXTRA_CPP_DEPENDS)
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<

# Individual dependencies

DEPENDS = $(OBJ:.o=.d)
sinclude $(DEPENDS)
8 changes: 8 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/ats2.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
No. Particles,Actual
7142385,436.3179
14287466,575.0493
28571551,751.5044
35712209,840.5981
42855549,873.2238
49999941,894.6309
57143091,921.2964
25 changes: 25 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/ats2.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "ats2.png"

set title "SPARTA Throughput Performance on ATS-2/Vortex" font "serif,22"
set xlabel "No. Particles"
set ylabel "Figure of Merit (M-particle-steps/sec)"

# set xrange [1:64]
set key left top

# set logscale x 2
# set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2
set style line 3 linetype 6 dashtype 1 linecolor rgb "#0000FF" linewidth 2 pointtype 6 pointsize 3

plot "ats2.csv" using 1:2 with linespoints linestyle 3
30 changes: 30 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/build-manzano.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/sh

umask 022
set -e
set -x

dir_root=`git rev-parse --show-toplevel`
dir_src="${dir_root}/sparta"

module unload intel
module unload openmpi-intel
module use /apps/modules/modulefiles-apps/cde/v3/
module load cde/v3/devpack/intel-ompi
module list

pushd "${dir_src}"
git clean -fdx
git reset --hard
popd
cp -a Makefile.manzano_kokkos "${dir_src}/src/MAKE"

pushd "${dir_src}/src"
make yes-kokkos
make -j 16 manzano_kokkos
echo "Resultant build info:"
ls -lh `pwd -P`/spa_manzano_kokkos
popd


exit 0
8 changes: 8 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-0.25.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
No. Cores,Actual,Ideal,Memory (GiB)
1,27.083,27.083,11.23
2,48.984,54.166,11.23
4,86.519,108.332,11.37
8,147.291,216.664,11.47
16,245.349,433.328,11.71
32,347.010,866.656,12.34
48,406.431,1299.984,12.76
24 changes: 24 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-0.25.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cts1-0.25.png"

set title "SPARTA Strong Scaling Performance on CTS-1/Manzano (0.25 GiB/PE)" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Figure of Merit (time steps/sec)"

set xrange [1:64]
set key left top

set logscale x 2
set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cts1-0.25.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2
8 changes: 8 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-0.50.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
No. Cores,Actual,Ideal,Memory (GiB)
1,29.078,29.078,18.42
2,55.678,58.156,18.41
4,100.193,116.312,18.55
8,173.462,232.624,18.65
16,287.659,465.248,18.89
32,395.545,930.496,19.52
48,454.229,1395.744,20.01
24 changes: 24 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-0.50.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cts1-0.50.png"

set title "SPARTA Strong Scaling Performance on CTS-1/Manzano (0.50 GiB/PE)" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Figure of Merit (time steps/sec)"

set xrange [1:64]
set key left top

set logscale x 2
set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cts1-0.50.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2
8 changes: 8 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-1.00.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
No. Cores,Actual,Ideal,Memory (GiB)
1,32.306,32.306,33.51
2,60.208,64.612,33.50
4,111.753,129.224,33.63
8,200.736,258.448,33.73
16,328.496,516.896,33.98
32,440.688,1033.792,34.55
48,504.080,1550.688,35.03
24 changes: 24 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-1.00.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cts1-1.00.png"

set title "SPARTA Strong Scaling Performance on CTS-1/Manzano (1.00 GiB/PE)" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Figure of Merit (time steps/sec)"

set xrange [1:64]
set key left top

set logscale x 2
set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cts1-1.00.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2
8 changes: 8 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-2.00.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
No. Cores,Actual,Ideal,Memory (GiB)
1,33.259,33.259,93.86
2,65.506,66.519,93.85
4,119.683,133.038,93.98
8,230.232,266.075,94.08
16,363.815,532.151,94.29
32,477.281,1064.302,94.81
48,535.983,1596.453,95.23
24 changes: 24 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1-2.00.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cts1-2.00.png"

set title "SPARTA Strong Scaling Performance on CTS-1/Manzano (2.00 GiB/PE)" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Figure of Merit (time steps/sec)"

set xrange [1:64]
set key left top

set logscale x 2
set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cts1-2.00.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2
8 changes: 8 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
No. Cores,Actual,Ideal
1,33.56245,33.56245
2,61.10145,67.1249
4,121.2445833,134.2498
8,224.82665,268.4996
16,362.8721333,536.9992
32,501.6367667,1073.9984
48,551.21695,1610.9976
24 changes: 24 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cts1.png"

set title "SPARTA Strong Scaling Performance on CTS-1/Manzano" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Figure of Merit (M-particle-steps/sec)"

set xrange [1:64]
set key left top

set logscale x 2
set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cts1.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2
24 changes: 24 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1mem-0.25.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cts1mem-0.25.png"

set title "MiniEM Strong Scaling High-water Memory on CTS-1/Manzano (0.25 GiB/PE)" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Maximum Resident Set Size (GiB)"

set xrange [1:64]
set key left top

set logscale x 2
# set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cts1-0.25.csv" using 1:4 with linespoints linestyle 1
24 changes: 24 additions & 0 deletions doc/sphinx/08_sparta/manzano_era/cts1mem-0.50.gp-noauto
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/gnuplot
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cts1mem-0.50.png"

set title "MiniEM Strong Scaling High-water Memory on CTS-1/Manzano (0.50 GiB/PE)" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Maximum Resident Set Size (GiB)"

set xrange [1:64]
set key left top

set logscale x 2
# set logscale y 2

set grid
show grid

set datafile separator comma
set key autotitle columnheader

set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cts1-0.50.csv" using 1:4 with linespoints linestyle 1
Loading

0 comments on commit 5bfa8ff

Please sign in to comment.