Skip to content

Commit

Permalink
most recent progress. Quicksilver weak/strong scaling implemented
Browse files Browse the repository at this point in the history
  • Loading branch information
august-knox committed Aug 6, 2024
1 parent fed3fd8 commit 118a025
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 50 deletions.
35 changes: 21 additions & 14 deletions experiments/ior/openmp/ramble.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# SPDX-License-Identifier: Apache-2.0
ramble:
include:
- ./configs/spack.yaml
- ./configs/software.yaml
- ./configs/variables.yaml
- ./configs/modifier.yaml
config:
Expand All @@ -20,25 +20,32 @@ ramble:
ior:
workloads:
ior:
variables:
n_ranks: '{n_nodes}*{sys_cores_per_node}'
experiments:
execute_{n_nodes}_{omp_num_threads}_{n}:
ior_openmp_weak_{n_nodes}:
variants:
package_manager: spack
variables:
n_ranks_per_node: ['8', '4']
n_nodes: ['1', '2']
omp_num_threads: ['2', '4']
n: ['512', '1024']
matrices:
- size_threads:
- n
- omp_num_threads

spack:

n_nodes: ['1','2','4']
b: ['1g','2g','4g']
t: ['4m','8m','16m']

ior_openmp_strong_{n_nodes}:
variants:
package_manager: spack
variables:
n_nodes: ['1','2','4']
b: '1g'
t: '4m'
software:
packages:
mpi:
spack_spec: [email protected]
pkg_spec: [email protected]
compiler: default-compiler
ior:
spack_spec: [email protected]
pkg_spec: [email protected]
compiler: default-compiler
environments:
ior:
Expand Down
36 changes: 15 additions & 21 deletions experiments/remhos/openmp/ramble.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# SPDX-License-Identifier: Apache-2.0
ramble:
include:
- ./configs/spack.yaml
- ./configs/software.yaml
- ./configs/variables.yaml
- ./configs/modifier.yaml
config:
Expand All @@ -21,36 +21,30 @@ ramble:
workloads:
remhos:
experiments:
execute_{n}_{n_nodes}_{omp_num_threads}:

execute_{n_nodes}:
variants:
package_manager: spack
variables:
n_ranks_per_node: ['8', '4']
n_nodes: ['1', '2']
omp_num_threads: ['2', '4']
n: ['512', '1024']
matrices:
- size_threads:
- n
- omp_num_threads
spack:
n_nodes: ['1','2']
software:
packages:
#hypre:
#spack_spec: hypre@2.10.0b
#compiler: default-compiler
hypre:
pkg_spec: hypre
compiler: compiler-gcc
#zlib-ng:
#spack_spec: [email protected]
#compiler: default-compiler
remhos:
spack_spec: [email protected]
compiler: default-compiler
mfem:
spack_spec: [email protected]
pkg_spec: [email protected]
compiler: default-compiler
#mfem:
#pkg_spec: [email protected]
#compiler: default-compiler
environments:
remhos:
packages:
#- hypre
- mfem
- hypre
#- mfem
#- zlib-ng
- default-mpi
- remhos
Expand Down
36 changes: 30 additions & 6 deletions repo/ior/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,45 @@
from ramble.appkit import *


class Ior(SpackApplication):
class Ior(ExecutableApplication):
"""Ior benchmark"""
name = "ior"

tags = ['asc','engineering','hypre','solver','cfd','large-scale',
'multi-node','single-node','mpi','network-latency-bound',
'network-collectives','unstructured-grid']

executable('p', 'ior', use_mpi=True)
executable('p', 'ior -Cge -wWr -F'+
' -b {b}' +
' -t {t}' +
' -a {a}'
, use_mpi=True)

workload('ior', executables=['p'])

workload_variable('a', default='POSIX',
description='api',
workloads=['ior'])

workload_variable('b', default='16m',
description='blockSize -- contiguous bytes to write per task (e.g.: 8, 4k, 2m, 1g)',
workloads=['ior'])

workload_variable('t', default='1m',
description='transferSize -- size of transfer in bytes (e.g.: 8, 4k, 2m, 1g)',
workloads=['ior'])

workload_variable('N', default='1',
description='numTasks -- number of tasks that are participating in the test (overrides MPI)',
workloads=['ior'])
#TODO: build FOMs. ior measures "throughput", but not sure how to calculate that from results
figure_of_merit('Major kernels total time',
figure_of_merit('Max write',
log_file='{experiment_run_dir}/{experiment_name}.out',
fom_regex=r'Major kernels total time \(seconds\):\s+(?P<fom>[0-9]+\.[0-9]*(e^[0-9]*)?)',
group_name='fom', units='seconds')
fom_regex=r'Max Write:\s+(?P<fom>[0-9]+\.[0-9]*([0-9]*)?)',
group_name='fom', units='MiB/sec')

success_criteria('pass', mode='string', match=r'Major kernels total time', file='{experiment_run_dir}/{experiment_name}.out')
figure_of_merit('Max read',
log_file='{experiment_run_dir}/{experiment_name}.out',
fom_regex=r'Max Read:\s+(?P<fom>[0-9]+\.[0-9]*([0-9]*)?)',
group_name='fom', units='MiB/sec')
success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out')
18 changes: 9 additions & 9 deletions repo/remhos/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,37 @@
from ramble.appkit import *


class Remhos(SpackApplication):
class Remhos(ExecutableApplication):
"""Remhos benchmark"""
name = "remhos"



executable('run', 'remhos'+' -m {mesh}'+' -p {p}'+' -rs {rs}'+' -rp {rp}'+' -dt {dt}'+' -tf {tf}'+' -ho {ho}' ' -lo {lo}'+' -fct {fct}', use_mpi=True)
executable('run', 'remhos'+' -m {mesh}'+' -p {p}'+' -rs {rs}'+'{rp}'+' -dt {dt}'+' -tf {tf}'+' -ho {ho}' ' -lo {lo}'+' -fct {fct}', use_mpi=True)

workload('remhos', executables=['run'])

workload_variable('mesh', default='{remhos}/data/cube01_hex.mesh',
workload_variable('mesh', default='{remhos}/data/periodic-square.mesh',
description='mesh',
workloads=['remhos'])

workload_variable('p', default='14',
workload_variable('p', default='5',
description='p',
workloads=['remhos'])

workload_variable('rs', default='2',
workload_variable('rs', default='3',
description='rs',
workloads=['remhos'])

workload_variable('rp', default='1',
workload_variable('rp', default='',
description='rp',
workloads=['remhos'])

workload_variable('dt', default='0.0005',
workload_variable('dt', default='0.005',
description='dt',
workloads=['remhos'])

workload_variable('tf', default='0.6',
workload_variable('tf', default='0.8',
description='tf',
workloads=['remhos'])

Expand All @@ -50,7 +50,7 @@ class Remhos(SpackApplication):
description='lo',
workloads=['remhos'])

workload_variable('fct', default='3',
workload_variable('fct', default='2',
description='fct',
workloads=['remhos'])
#FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*'
Expand Down

0 comments on commit 118a025

Please sign in to comment.