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
20 changes: 6 additions & 14 deletions cscs-checks/tools/profiling_and_debugging/cuda_gdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ def __init__(self):
self.num_gpus_per_node = 1
self.num_tasks_per_node = 1
self.sourcesdir = 'src/Cuda'
self.executable = 'cuda-gdb cuda_gdb_check'
self.executable = 'cuda-gdb'
self.executable_opts = ['-x .in.cudagdb ./cuda_gdb_check']
# unload xalt to avoid runtime error:
self.pre_run = ['unset LD_PRELOAD']
if self.current_system.name == 'kesch':
self.exclusive_access = True
self.modules = ['cudatoolkit/8.0.61']
Expand All @@ -35,24 +38,13 @@ def __init__(self):
'-lcudart', '-lm']

self.sanity_patterns = sn.all([
sn.assert_found(r'^\(cuda-gdb\) Breakpoint 1 at .*: file ',
self.stdout),
sn.assert_found(r'^Breakpoint 1 at .*: file ', self.stdout),
sn.assert_found(r'_jacobi-cuda-kernel.cu, line 59\.', self.stdout),
sn.assert_found(r'^\(cuda-gdb\) Starting program:', self.stdout),
sn.assert_found(r'^\(cuda-gdb\) quit', self.stdout),
sn.assert_lt(sn.abs(sn.extractsingle(
r'^\(cuda-gdb\)\s+\$1\s+=\s+(?P<result>\S+)', self.stdout,
r'\$1\s+=\s+(?P<result>\S+)', self.stdout,
'result', float)), 1e-5)
])

self.maintainers = ['MK', 'JG']
self.tags = {'production', 'craype'}

def setup(self, partition, environ, **job_opts):
super().setup(partition, environ, **job_opts)
self.job.launcher = LauncherWrapper(
self.job.launcher, 'printf', [
r"'break _jacobi-cuda-kernel.cu:59\n",
r"run\n", r"print *residue_d'", ' | '
]
)
2 changes: 1 addition & 1 deletion cscs-checks/tools/profiling_and_debugging/gdb4hpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def __init__(self, lang, extension):
'OMP_PROC_BIND': 'true',
}
self.maintainers = ['JG']
self.tags = {'production', 'craype'}
self.tags = {'craype'}
# gdb4hpc has its own way to launch a debugging job and needs an
# additional jobscript. The reframe jobscript can be copied for that
# purpose, by adding the cray_debug_ comments around the job launch
Expand Down
2 changes: 1 addition & 1 deletion cscs-checks/tools/profiling_and_debugging/ipm_mpi_omp.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def __init__(self, lang):
'PrgEnv-pgi': ['-O2', '-g', '-mp']
}
ipm_ver = '2.0.6'
tc_ver = '19.09'
tc_ver = '19.10'
self.ipm_modules = {
'PrgEnv-gnu': ['IPM/%s-CrayGNU-%s' % (ipm_ver, tc_ver)],
'PrgEnv-cray': ['IPM/%s-CrayCCE-%s' % (ipm_ver, tc_ver)],
Expand Down
6 changes: 5 additions & 1 deletion cscs-checks/tools/profiling_and_debugging/mpip_mpi_omp.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ def __init__(self, lang):
'PrgEnv-intel': ['-g', '-qopenmp', '-O2'],
'PrgEnv-pgi': ['-g', '-mp', '-O2']
}
# unload xalt to avoid _buffer_decode error:
self.prebuild_cmd = ['module rm 2.7.10 ;module list -t']
self.modules = ['mpiP']
self.build_system = 'Make'
self.num_iterations = 500
Expand All @@ -37,6 +39,8 @@ def __init__(self, lang):
if lang == 'F90':
self.build_system.max_concurrency = 1

# unload xalt to avoid _buffer_decode error:
self.pre_run = ['module rm 2.7.10']
self.num_tasks = 96
self.num_tasks_per_node = 24
self.num_cpus_per_task = 1
Expand Down Expand Up @@ -66,7 +70,7 @@ def __init__(self, lang):
# check performance report:
sn.assert_found('Single collector task', self.rpt_file),
sn.assert_eq(sn.extractsingle(
r'^.*_jacobi.*\s+(?P<mpi_isendline>\d+)\s.*Isend',
r'^\s+\d\s+\d\s_jacobi.{4}\s+(?P<mpi_isendline>\d+)\s.*Isend',
self.rpt_file, 'mpi_isendline'), mpi_isendline),
])
self.maintainers = ['JG']
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
break _jacobi-cuda-kernel.cu:59
run
print *residue_d