From f6fc2b5257911c3ab04cc38cdafefeb6b7d3a7ae Mon Sep 17 00:00:00 2001 From: Vasileios Karakasis Date: Wed, 3 Jul 2019 23:31:40 +0200 Subject: [PATCH 1/2] Run unit tests for Daint in the CI partition --- ci-scripts/ci-runner.bash | 2 +- config/cscs-ci.py | 209 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 config/cscs-ci.py diff --git a/ci-scripts/ci-runner.bash b/ci-scripts/ci-runner.bash index a10977653c..6c7928690a 100644 --- a/ci-scripts/ci-runner.bash +++ b/ci-scripts/ci-runner.bash @@ -180,7 +180,7 @@ else echo "Running unit tests" echo "==================" - checked_exec ./test_reframe.py --rfm-user-config=config/cscs.py + checked_exec ./test_reframe.py --rfm-user-config=config/cscs-ci.py echo "===================================" echo "Running unit tests with PBS backend" diff --git a/config/cscs-ci.py b/config/cscs-ci.py new file mode 100644 index 0000000000..795aa3d256 --- /dev/null +++ b/config/cscs-ci.py @@ -0,0 +1,209 @@ +# +# CSCS ReFrame CI settings +# + + +class ReframeSettings: + reframe_module = 'reframe' + job_poll_intervals = [1, 2, 3] + job_submit_timeout = 60 + checks_path = ['checks/'] + checks_path_recurse = True + site_configuration = { + 'systems': { + 'daint': { + 'descr': 'Piz Daint CI nodes', + 'hostnames': ['daint'], + 'modules_system': 'tmod', + 'resourcesdir': '/apps/common/UES/reframe/resources', + 'partitions': { + 'login': { + 'scheduler': 'local', + 'modules': [], + 'access': [], + 'environs': ['PrgEnv-cray', 'PrgEnv-gnu', + 'PrgEnv-intel', 'PrgEnv-pgi'], + 'descr': 'Login nodes', + 'max_jobs': 4 + }, + 'gpu': { + 'scheduler': 'nativeslurm', + 'modules': ['daint-gpu'], + 'access': ['--constraint=gpu', '--partition=cscsci'], + 'environs': ['PrgEnv-cray', 'PrgEnv-gnu', + 'PrgEnv-intel', 'PrgEnv-pgi'], + 'descr': 'Hybrid nodes (Haswell/P100)', + 'max_jobs': 100, + 'resources': { + 'switches': ['--switches={num_switches}'] + } + }, + } + }, + 'dom': { + 'descr': 'Dom TDS', + 'hostnames': ['dom'], + 'modules_system': 'tmod', + 'resourcesdir': '/apps/common/UES/reframe/resources', + 'partitions': { + 'login': { + 'scheduler': 'local', + 'modules': [], + 'access': [], + 'environs': ['PrgEnv-cray', 'PrgEnv-gnu', + 'PrgEnv-intel', 'PrgEnv-pgi'], + 'descr': 'Login nodes', + 'max_jobs': 4 + }, + 'gpu': { + 'scheduler': 'nativeslurm', + 'modules': ['daint-gpu'], + 'access': ['--constraint=gpu'], + 'environs': ['PrgEnv-cray', 'PrgEnv-gnu', + 'PrgEnv-intel'], + 'descr': 'Hybrid nodes (Haswell/P100)', + 'max_jobs': 100, + 'resources': { + 'switches': ['--switches={num_switches}'] + } + }, + } + }, + 'kesch': { + 'descr': 'Kesch MCH', + 'hostnames': ['keschln-\d+'], + 'modules_system': 'tmod', + 'resourcesdir': '/apps/common/UES/reframe/resources', + 'partitions': { + 'login': { + 'scheduler': 'local', + 'environs': ['PrgEnv-cray', 'PrgEnv-pgi', + 'PrgEnv-gnu'], + 'descr': 'Kesch login nodes', + }, + 'cn': { + 'scheduler': 'nativeslurm', + 'access': ['--partition=cn-regression'], + 'environs': ['PrgEnv-cray', 'PrgEnv-pgi', + 'PrgEnv-gnu'], + 'descr': 'Kesch compute nodes', + 'resources': { + '_rfm_gpu': ['--gres=gpu:{num_gpus_per_node}'], + } + } + } + }, + 'generic': { + 'descr': 'Generic example system', + 'partitions': { + 'login': { + 'scheduler': 'local', + 'modules': [], + 'access': [], + 'environs': ['builtin-gcc'], + 'descr': 'Login nodes' + } + } + } + }, + + 'environments': { + 'kesch': { + 'PrgEnv-gnu': { + 'type': 'ProgEnvironment', + 'modules': ['PrgEnv-gnu'], + 'cc': 'gcc', + 'cxx': 'g++', + 'ftn': 'gfortran', + }, + }, + '*': { + 'PrgEnv-cray': { + 'type': 'ProgEnvironment', + 'modules': ['PrgEnv-cray'], + }, + + 'PrgEnv-gnu': { + 'type': 'ProgEnvironment', + 'modules': ['PrgEnv-gnu'], + }, + + 'PrgEnv-intel': { + 'type': 'ProgEnvironment', + 'modules': ['PrgEnv-intel'], + }, + + 'PrgEnv-pgi': { + 'type': 'ProgEnvironment', + 'modules': ['PrgEnv-pgi'], + }, + + 'builtin': { + 'type': 'ProgEnvironment', + 'cc': 'cc', + 'cxx': '', + 'ftn': '', + }, + + 'builtin-gcc': { + 'type': 'ProgEnvironment', + 'cc': 'gcc', + 'cxx': 'g++', + 'ftn': 'gfortran', + } + } + } + } + + logging_config = { + 'level': 'DEBUG', + 'handlers': [ + { + 'type': 'file', + 'name': 'reframe.log', + 'level': 'DEBUG', + 'format': '[%(asctime)s] %(levelname)s: ' + '%(check_info)s: %(message)s', + 'append': False, + }, + + # Output handling + { + 'type': 'stream', + 'name': 'stdout', + 'level': 'INFO', + 'format': '%(message)s' + }, + { + 'type': 'file', + 'name': 'reframe.out', + 'level': 'INFO', + 'format': '%(message)s', + 'append': False, + } + ] + } + + perf_logging_config = { + 'level': 'DEBUG', + 'handlers': [ + { + 'type': 'filelog', + 'prefix': '%(check_system)s/%(check_partition)s', + 'level': 'INFO', + 'format': ( + '%(asctime)s|reframe %(version)s|' + '%(check_info)s|jobid=%(check_jobid)s|' + '%(check_perf_var)s=%(check_perf_value)s|' + 'ref=%(check_perf_ref)s ' + '(l=%(check_perf_lower_thres)s, ' + 'u=%(check_perf_upper_thres)s)|' + '%(check_perf_unit)s' + ), + 'append': True + } + ] + } + + +settings = ReframeSettings() From 6e06bebdd4ed35bce4dcb34cd1638ad762f2a543 Mon Sep 17 00:00:00 2001 From: Vasileios Karakasis Date: Wed, 3 Jul 2019 23:36:34 +0200 Subject: [PATCH 2/2] Fix PEP8 issues --- config/cscs-ci.py | 2 +- config/cscs.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/cscs-ci.py b/config/cscs-ci.py index 795aa3d256..3275625359 100644 --- a/config/cscs-ci.py +++ b/config/cscs-ci.py @@ -71,7 +71,7 @@ class ReframeSettings: }, 'kesch': { 'descr': 'Kesch MCH', - 'hostnames': ['keschln-\d+'], + 'hostnames': [r'keschln-\d+'], 'modules_system': 'tmod', 'resourcesdir': '/apps/common/UES/reframe/resources', 'partitions': { diff --git a/config/cscs.py b/config/cscs.py index 7da16e7cd0..fca76bec84 100644 --- a/config/cscs.py +++ b/config/cscs.py @@ -203,7 +203,7 @@ class ReframeSettings: 'kesch': { 'descr': 'Kesch MCH', - 'hostnames': ['keschln-\d+'], + 'hostnames': [r'keschln-\d+'], 'modules_system': 'tmod', 'resourcesdir': '/apps/common/UES/reframe/resources', 'partitions': {