Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions eessi/testsuite/tests/apps/MetalWalls.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
from reframe.core.parameters import TestParam as parameter

from eessi.testsuite import hooks
from eessi.testsuite.constants import COMPUTE_UNITS, DEVICE_TYPES, SCALES, TAGS
from eessi.testsuite.utils import find_modules, log
from eessi.testsuite.constants import COMPUTE_UNITS, DEVICE_TYPES, SCALES
from eessi.testsuite.utils import find_modules


@rfm.simple_test
Expand Down Expand Up @@ -81,8 +81,7 @@ def run_after_init(self):
def set_tag_ci(self):
"""Set tag CI on smallest benchmark, so it can be selected on the cmd line via --tag CI"""
if self.benchmark_info[0] == 'hackathonGPU/benchmark':
self.tags.add(TAGS.CI)
log(f'tags set to {self.tags}')
self.is_ci_test = True

@run_after('init')
def set_increased_walltime(self):
Expand Down
2 changes: 1 addition & 1 deletion eessi/testsuite/tests/apps/QuantumESPRESSO.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def set_ci(self):
min_ecut = min(QEspressoPWCheck.ecut.values)
min_nbnd = min(QEspressoPWCheck.nbnd.values)
if self.ecut == min_ecut and self.nbnd == min_nbnd:
self.bench_name = self.bench_name_ci = 'bench_ci'
self.is_ci_test = True

@run_after('init')
def set_increased_walltime(self):
Expand Down
4 changes: 1 addition & 3 deletions eessi/testsuite/tests/apps/espresso/espresso.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def set_ci_tag(self):
# TODO: revisit this for more recent versions of ESPResSo
# see also: https://github.com/EESSI/test-suite/issues/154
if SCALES[self.scale]['num_nodes'] < 2:
self.bench_name_ci = self.bench_name
self.is_ci_test = True

@sanity_function
def assert_sanity(self):
Expand All @@ -67,7 +67,6 @@ class EESSI_ESPRESSO_P3M_IONIC_CRYSTALS(EESSI_ESPRESSO_base, EESSI_Mixin):
executable = 'python3 madelung.py'
sourcesdir = 'src/p3m'
readonly_files = ['madelung.py']
bench_name = 'ionic_crystals_p3m'

default_weak_scaling_system_size = 6

Expand Down Expand Up @@ -102,7 +101,6 @@ class EESSI_ESPRESSO_LJ_PARTICLES(EESSI_ESPRESSO_base, EESSI_Mixin):
executable = 'python3 lj.py'
sourcesdir = 'src/lj'
readonly_files = ['lj.py']
bench_name = 'particles_lj'

def required_mem_per_node(self):
"LJ requires 200 MB per core"
Expand Down
6 changes: 1 addition & 5 deletions eessi/testsuite/tests/apps/openfoam/openfoam.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ class EESSI_OPENFOAM_LID_DRIVEN_CAVITY_1M(rfm.RunOnlyRegressionTest, EESSI_Mixin
module_name = parameter(find_modules('OpenFOAM/v', name_only=False))
valid_systems = ['*']
scale = parameter(filter_scales_1M())
is_ci_test = True

@run_after('init')
def set_compute_unit(self):
Expand All @@ -208,11 +209,6 @@ def set_compute_unit(self):
def required_mem_per_node(self):
return self.num_tasks_per_node * 1700

@run_after('init')
def select_ci(self):
" Select the CI variants "
self.bench_name = self.bench_name_ci = 'icoFoam_1M_CI'

@run_after('setup')
def check_launcher_options(self):
# We had to get the launcher command and prepend this to the prerun steps (func prepare_environment) because:
Expand Down
4 changes: 2 additions & 2 deletions eessi/testsuite/tests/apps/osu.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ def filter_benchmark_pt2pt(self):
def select_ci(self):
" Select the CI variants "
if (self.bench_name in ['mpi.pt2pt.osu_latency', 'mpi.pt2pt.osu_bw']):
self.bench_name_ci = self.bench_name
self.is_ci_test = True

@run_after('init')
def set_num_tasks_per_compute_unit(self):
Expand Down Expand Up @@ -178,7 +178,7 @@ def filter_benchmark_coll(self):
def select_ci(self):
" Select the CI variants "
if (self.bench_name in ['mpi.collective.osu_allreduce', 'mpi.collective.osu_alltoall']):
self.bench_name_ci = self.bench_name
self.is_ci_test = True

@run_after('init')
def set_compute_unit(self):
Expand Down
2 changes: 1 addition & 1 deletion eessi/testsuite/tests/apps/tensorflow/tensorflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class EESSI_TensorFlow(rfm.RunOnlyRegressionTest, EESSI_Mixin):
time_limit = '30m'

# This test should be run as part of EESSI CI
bench_name = bench_name_ci = 'bench_ci'
is_ci_test = True

readonly_files = ['mnist_setup.py', 'tf_test.py']

Expand Down
14 changes: 6 additions & 8 deletions tutorial/mpi4py/mpi4py_portable_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ class EESSI_MPI4PY(rfm.RunOnlyRegressionTest, EESSI_Mixin):
# One task is launched per compute unit. In this case, one task per (physical) CPU core
compute_unit = COMPUTE_UNITS.CPU

# ReFrame will generate a test for each module that matches the regex `mpi4py`
# ReFrame will generate a test for each module that matches the regex `mpi4py`.
# This means we implicitly assume that any module matching this name provides the required functionality
# to run this test
# to run this test.
module_name = parameter(find_modules('mpi4py'))

# Our script has two arguments, --n_iter and --n_warmup. By defining these as ReFrame variables, we can
Expand All @@ -54,13 +54,11 @@ class EESSI_MPI4PY(rfm.RunOnlyRegressionTest, EESSI_Mixin):
# https://reframe-hpc.readthedocs.io/en/stable/regression_test_api.html#reframe.core.pipeline.RegressionTest.time_limit
time_limit = '5m00s'

# Define the benchmarks that are available in the test.
# In this test (`EESSI_MPI4PY`) there is only one benchmark. If there are more than one,
# define them using the `parameter()` function.
bench_name = 'mpi4pi'
# Optionally define the test variants that are available in the test with the `parameter()` function
# In this test (`EESSI_MPI4PY`) there is only one variant, so we don't have to define anything.

# Specify the benchmark to be tested in CI (will be marked with a `CI` tag).
bench_name_ci = 'mpi4pi'
# Indicate that the test should run in CI (will be marked with a `CI` tag).
is_ci_test = True

# Define the files and/or dirs inside sourcesdir (default=src) that should be symlinked into the stage dir
readonly_files = ['mpi4py_reduce.py']
Expand Down