Skip to content
Merged
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
63 changes: 63 additions & 0 deletions cscs-checks/prgenv/mpi_t.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Copyright 2016-2020 Swiss National Supercomputing Centre (CSCS/ETH Zurich)
# ReFrame Project Developers. See the top-level LICENSE file for details.
#
# SPDX-License-Identifier: BSD-3-Clause

import os
import reframe as rfm
import reframe.utility.sanity as sn


@rfm.simple_test
class MpiTCheck(rfm.RegressionTest):
def __init__(self):
self.descr = 'Checks MPI_T control/performance variables/categories'
self.valid_systems = ['daint:gpu', 'dom:gpu', 'daint:mc', 'dom:mc']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu', 'PrgEnv-pgi',
'PrgEnv-intel', 'PrgEnv-cray_classic']
self.build_system = 'SingleSource'
self.sourcepath = 'mpit_vars.c'
self.num_tasks_per_node = 1
self.variables = {'MPITEST_VERBOSE': '1', 'MPICH_VERSION_DISPLAY': '1'}
self.rpt = 'rpt'
self.executable_opts = [f'&> {self.rpt}']
self.maintainers = ['JG']
self.tags = {'production', 'craype', 'maintenance'}

@rfm.run_before('sanity')
def set_sanity(self):
# 1/ MPI Control Variables:
# --- extract reference data:
regex = r'^(?P<vars>MPIR\S+)$'
ref = os.path.join(self.stagedir, 'mpit_control_vars.ref')
self.ref_control_vars = sorted(sn.extractall(regex, ref, 'vars'))
# --- extract runtime data:
regex = r'^\t(?P<vars>MPIR\S+)\t'
rpt = os.path.join(self.stagedir, self.rpt)
self.run_control_vars = sorted(sn.extractall(regex, rpt, 'vars'))
# 2/ MPI Performance Variables:
# --- extract reference data:
regex = r'(?P<vars>\w+)'
ref = os.path.join(self.stagedir, 'mpit_perf_vars.ref')
self.ref_perf_vars = sorted(sn.extractall(regex, ref, 'vars'))
# --- extract runtime data:
regex = r'^\t(?P<vars>(nem_|rma_)\S+)\t'
rpt = os.path.join(self.stagedir, self.rpt)
self.run_perf_vars = sorted(sn.extractall(regex, rpt, 'vars'))
# 3/ MPI Category:
# --- extract reference data:
regex = r'^(?P<category>.*)$'
ref = os.path.join(self.stagedir, 'mpit_categories.ref')
ref_cat_vars = sorted(sn.extractall(regex, ref, 'category'))
self.ref_cat_vars = list(filter(None, ref_cat_vars))
# --- extract runtime data:
regex = (r'^(?P<category>Category \w+ has \d+ control variables, \d+'
r' performance variables, \d+ subcategories)')
rpt = os.path.join(self.stagedir, self.rpt)
self.run_cat_vars = sorted(sn.extractall(regex, rpt, 'category'))
# 4/ Extracted lists can be compared (when sorted):
self.sanity_patterns = sn.all([
sn.assert_eq(self.ref_control_vars, self.run_control_vars),
sn.assert_eq(self.ref_perf_vars, self.run_perf_vars),
sn.assert_eq(self.ref_cat_vars, self.run_cat_vars),
])
19 changes: 19 additions & 0 deletions cscs-checks/prgenv/src/mpit_categories.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Category CH3 has 1 control variables, 0 performance variables, 0 subcategories
Category COLLECTIVE has 27 control variables, 0 performance variables, 0 subcategories
Category COMMUNICATOR has 0 control variables, 0 performance variables, 0 subcategories
Category CRAY_CONTROL has 17 control variables, 0 performance variables, 0 subcategories
Category CRAY_DISPLAY has 7 control variables, 0 performance variables, 0 subcategories
Category CRAY_DMAPP has 3 control variables, 0 performance variables, 0 subcategories
Category CRAY_GNI has 32 control variables, 0 performance variables, 0 subcategories
Category CRAY_GPU has 3 control variables, 0 performance variables, 0 subcategories
Category CRAY_MPIIO has 18 control variables, 0 performance variables, 0 subcategories
Category CRAY_RMA_STAT has 0 control variables, 7 performance variables, 0 subcategories
Category DEBUGGER has 0 control variables, 0 performance variables, 0 subcategories
Category DEVELOPER has 0 control variables, 0 performance variables, 0 subcategories
Category DIMS has 0 control variables, 0 performance variables, 0 subcategories
Category ERROR_HANDLING has 0 control variables, 0 performance variables, 0 subcategories
Category FT has 0 control variables, 0 performance variables, 0 subcategories
Category MEMORY has 0 control variables, 0 performance variables, 0 subcategories
Category NEMESIS has 0 control variables, 1 performance variables, 0 subcategories
Category PROCESS_MANAGER has 1 control variables, 0 performance variables, 0 subcategories
Category THREADS has 0 control variables, 0 performance variables, 0 subcategories
109 changes: 109 additions & 0 deletions cscs-checks/prgenv/src/mpit_control_vars.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
MPIR_CVAR_MPIIO_ABORT_ON_RW_ERROR
MPIR_CVAR_MPIIO_AGGREGATOR_PLACEMENT_DISPLAY=0
MPIR_CVAR_MPIIO_AGGREGATOR_PLACEMENT_STRIDE=-1
MPIR_CVAR_MPIIO_CB_ALIGN=2
MPIR_CVAR_MPIIO_DVS_MAXNODES=-1
MPIR_CVAR_MPIIO_HINTS
MPIR_CVAR_MPIIO_HINTS_DISPLAY=0
MPIR_CVAR_MPIIO_MAX_NUM_IRECV=50
MPIR_CVAR_MPIIO_MAX_NUM_ISEND=50
MPIR_CVAR_MPIIO_MAX_SIZE_ISEND=10485760
MPIR_CVAR_MPIIO_STATS=0
MPIR_CVAR_MPIIO_STATS_FILE
MPIR_CVAR_MPIIO_STATS_INTERVAL_MSEC
MPIR_CVAR_MPIIO_TIMERS=0
MPIR_CVAR_MPIIO_TIMERS_SCALE=0
MPIR_CVAR_MPIIO_TIME_WAITS=1
MPIR_CVAR_MPIIO_WRITE_EXIT_BARRIER=1
MPIR_CVAR_MPIIO_DS_WRITE_CRAY=1
MPIR_CVAR_SCATTERV_SHORT_MSG=-1
MPIR_CVAR_DMAPP_A2A_SYMBUF_SIZE
MPIR_CVAR_DMAPP_A2A_SHORT_MSG=4096
MPIR_CVAR_DMAPP_A2A_USE_PUTS=0
MPIR_CVAR_USE_DMAPP_COLL
MPIR_CVAR_ALLGATHER_VSHORT_MSG=-1
MPIR_CVAR_ALLGATHERV_VSHORT_MSG=-1
MPIR_CVAR_ALLREDUCE_NO_SMP=0
MPIR_CVAR_ALLTOALL_SHORT_MSG=-1
MPIR_CVAR_ALLTOALLV_THROTTLE=8
MPIR_CVAR_BCAST_ONLY_TREE=1
MPIR_CVAR_BCAST_INTERNODE_RADIX=4
MPIR_CVAR_BCAST_INTRANODE_RADIX=4
MPIR_CVAR_COLL_BAL_INJECTION=-1
MPIR_CVAR_COLL_OPT_OFF
MPIR_CVAR_COLL_SYNC
MPIR_CVAR_DMAPP_COLL_RADIX=64
MPIR_CVAR_DMAPP_HW_CE
MPIR_CVAR_GATHERV_SHORT_MSG=16384
MPIR_CVAR_REDUCE_NO_SMP=0
MPIR_CVAR_SCATTERV_SYNCHRONOUS=0
MPIR_CVAR_SHARED_MEM_COLL_OPT
MPIR_CVAR_NETWORK_BUFFER_COLL_OPT=0
MPIR_CVAR_DMAPP_A2A_ARIES=0
MPIR_CVAR_REDSCAT_COMMUTATIVE_LONG_MSG_SIZE=524288
MPIR_CVAR_REDSCAT_MAX_COMMSIZE=6144
MPIR_CVAR_DPM_DIR
MPIR_CVAR_G2G_PIPELINE=0
MPIR_CVAR_NO_GPU_DIRECT=0
MPIR_CVAR_RDMA_ENABLED_CUDA=0
MPIR_CVAR_RMA_FALLBACK=0
MPIR_CVAR_SMP_SINGLE_COPY_OFF=0
MPIR_CVAR_SMP_SINGLE_COPY_SIZE=8192
MPIR_CVAR_GNI_SUPPRESS_PROC_FILE_WARNINGS=0
MPIR_CVAR_GNI_BTE_MULTI_CHANNEL
MPIR_CVAR_GNI_DATAGRAM_TIMEOUT
MPIR_CVAR_GNI_DMAPP_INTEROP
MPIR_CVAR_GNI_DYNAMIC_CONN
MPIR_CVAR_GNI_FMA_SHARING
MPIR_CVAR_GNI_FORK_MODE
MPIR_CVAR_GNI_HUGEPAGE_SIZE
MPIR_CVAR_GNI_LMT_GET_PATH
MPIR_CVAR_GNI_LMT_PATH
MPIR_CVAR_GNI_LOCAL_CQ_SIZE=8192
MPIR_CVAR_GNI_MALLOC_FALLBACK=0
MPIR_CVAR_GNI_MAX_EAGER_MSG_SIZE=8192
MPIR_CVAR_GNI_MAX_NUM_RETRIES=16
MPIR_CVAR_GNI_MAX_VSHORT_MSG_SIZE=-1
MPIR_CVAR_GNI_MBOX_PLACEMENT
MPIR_CVAR_GNI_MBOXES_PER_BLOCK=-1
MPIR_CVAR_GNI_MDD_SHARING
MPIR_CVAR_GNI_MEM_DEBUG_FNAME
MPIR_CVAR_GNI_MAX_PENDING_GETS=-1
MPIR_CVAR_GNI_GET_MAXSIZE=-1
MPIR_CVAR_GNI_NDREG_ENTRIES=-1
MPIR_CVAR_GNI_NDREG_LAZYMEM
MPIR_CVAR_GNI_NDREG_MAXSIZE=-1
MPIR_CVAR_GNI_NUM_BUFS=64
MPIR_CVAR_GNI_NUM_MBOXES=-1
MPIR_CVAR_GNI_RDMA_THRESHOLD=1024
MPIR_CVAR_GNI_RECV_CQ_SIZE=40960
MPIR_CVAR_GNI_ROUTING_MODE
MPIR_CVAR_GNI_USE_UNASSIGNED_CPUS
MPIR_CVAR_GNI_VC_MSG_PROTOCOL
MPIR_CVAR_NEMESIS_ASYNC_PROGRESS
MPIR_CVAR_NEMESIS_ON_NODE_ASYNC_OPT=-1
MPIR_CVAR_GNI_NUM_DPM_CONNECTIONS=128
MPIR_CVAR_ABORT_ON_ERROR=1
MPIR_CVAR_CPUMASK_DISPLAY=0
MPIR_CVAR_ENV_DISPLAY=0
MPIR_CVAR_OPTIMIZED_MEMCPY=1
MPIR_CVAR_STATS_DISPLAY=0
MPIR_CVAR_STATS_VERBOSITY=1
MPIR_CVAR_STATS_FILE
MPIR_CVAR_RANK_REORDER_DISPLAY=0
MPIR_CVAR_RANK_REORDER_METHOD=1
MPIR_CVAR_USE_SYSTEM_MEMCPY=0
MPIR_CVAR_VERSION_DISPLAY=1
MPIR_CVAR_DMAPP_APP_IS_WORLD=0
MPIR_CVAR_MEMCPY_MEM_CHECK=0
MPIR_CVAR_MAX_THREAD_SAFETY
MPIR_CVAR_MSG_QUEUE_DBG=0
MPIR_CVAR_NO_BUFFER_ALIAS_CHECK=0
MPIR_CVAR_DYNAMIC_VCS
MPIR_CVAR_ALLOC_MEM_AFFINITY
MPIR_CVAR_INTERNAL_MEM_AFFINITY
MPIR_CVAR_ALLOC_MEM_POLICY
MPIR_CVAR_ALLOC_MEM_PG_SZ
MPIR_CVAR_CRAY_OPT_THREAD_SYNC=1
MPIR_CVAR_OPT_THREAD_SYNC=1
MPIR_CVAR_THREAD_YIELD_FREQ=10000
8 changes: 8 additions & 0 deletions cscs-checks/prgenv/src/mpit_perf_vars.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
nem_fbox_fall_back_to_queue_count
rma_basic_comm_ops_counter
rma_basic_get_ops_counter
rma_basic_put_ops_counter
rma_basic_acc_ops_counter
rma_basic_gacc_ops_counter
rma_basic_cas_ops_counter
rma_basic_fetch_ops_counter
Loading