From d819a576577d57a79e2cb59d59d2f0598ea99134 Mon Sep 17 00:00:00 2001 From: jgp Date: Fri, 31 May 2019 13:35:31 +0200 Subject: [PATCH 1/3] new slurm fixes memory issue --- .../intel_advisor_roofline.py | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py index 97f7749c2c..b0b1893d17 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -7,11 +7,11 @@ @rfm.required_version('>=2.14') @rfm.parameterized_test(*[[repeat, toolsversion, datalayout] for repeat in ['100000'] - for toolsversion in ['591264'] + for toolsversion in ['597843'] for datalayout in ['G3_AOS_SCALAR', 'G3_SOA_SCALAR', 'G3_AOS_VECTOR', 'G3_SOA_VECTOR'] ]) -class IntelRooflineTest(rfm.RegressionTest): +class IntelRooflineAdvisorTest(rfm.RegressionTest): '''This test checks the values reported by Intel Advisor's roofline model: https://software.intel.com/en-us/intel-advisor-xe @@ -30,27 +30,28 @@ class IntelRooflineTest(rfm.RegressionTest): def __init__(self, repeat, toolsversion, datalayout): super().__init__() self.descr = 'Roofline Analysis test with Intel Advisor' - self.valid_systems = ['daint:mc'] + self.valid_systems = ['daint:mc', 'dom:mc'] # Reporting MFLOPS is not available on Intel Haswell cpus, see # https://www.intel.fr/content/dam/www/public/us/en/documents/manuals/ # 64-ia-32-architectures-software-developer-vol-1-manual.pdf self.valid_prog_environs = ['PrgEnv-intel'] - # Using advisor/2019 because tests with advisor/2018 (build 551025) - # raised failures: - # roof.dir/nid00753.000/trc000/trc000.advixe - # Application exit code: 139 - # advisor/2019 is currently broken on dom ("Exceeded job memory limit") - self.modules = ['advisor/2019_update3'] self.prgenv_flags = { - 'PrgEnv-intel': ['-O2', '-g', '-std=c++11'], + 'PrgEnv-intel': ['-g', '-O2', '-std=c++11'], } self.sourcesdir = os.path.join(self.current_system.resourcesdir, 'roofline', 'intel_advisor') self.build_system = 'Make' + exp = '/apps/dom/UES/jenkins/7.0.UP00/mc/easybuild/experimental' self.prebuild_cmd = [ + 'module use %s/modules/all' % exp, 'sed -e "s-XXXX-%s-" -e "s-YYYY-%s-" %s &> %s' % (repeat, datalayout, 'roofline_template.cpp', '_roofline.cpp') ] + # Using advisor/2019 because tests with advisor/2018 (build 551025) + # raised failures: + # roof.dir/nid00753.000/trc000/trc000.advixe + # Application exit code: 139 + self.modules = ['advisor/2019_update4'] self.num_tasks = 1 self.num_tasks_per_node = 1 self.num_cpus_per_task = 1 From c304eb9107e2c30f501df2eec297332ccec2a512 Mon Sep 17 00:00:00 2001 From: jgp Date: Mon, 3 Jun 2019 12:23:56 +0200 Subject: [PATCH 2/3] fixed module use --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py index b0b1893d17..34beea5d1a 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -41,9 +41,7 @@ def __init__(self, repeat, toolsversion, datalayout): self.sourcesdir = os.path.join(self.current_system.resourcesdir, 'roofline', 'intel_advisor') self.build_system = 'Make' - exp = '/apps/dom/UES/jenkins/7.0.UP00/mc/easybuild/experimental' self.prebuild_cmd = [ - 'module use %s/modules/all' % exp, 'sed -e "s-XXXX-%s-" -e "s-YYYY-%s-" %s &> %s' % (repeat, datalayout, 'roofline_template.cpp', '_roofline.cpp') ] From 0fd9477de0d4d500d2b9d97054f2bbea4ed70efa Mon Sep 17 00:00:00 2001 From: jgp Date: Mon, 3 Jun 2019 13:39:25 +0200 Subject: [PATCH 3/3] adjusting percentages --- .../intel_advisor_roofline.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py index 34beea5d1a..1a6ede1d1d 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -90,32 +90,32 @@ def __init__(self, repeat, toolsversion, datalayout): sn.assert_reference(sn.extractsingle( r'^L1\sbandwidth\s\(single-threaded\)\s+(?P\d+)\s+' r'memory$', self.roofline_ref, 'L1bw', int), - L1bw, -0.08, 0.08), + L1bw, -0.12, 0.08), # check --report=roofs (L2 bandwidth): sn.assert_reference(sn.extractsingle( r'^L2\sbandwidth\s\(single-threaded\)\s+(?P\d+)\s+' r'memory$', self.roofline_ref, 'L2bw', int), - L2bw, -0.08, 0.08), + L2bw, -0.12, 0.08), # check --report=roofs (L3 bandwidth): sn.assert_reference(sn.extractsingle( r'^L3\sbandwidth\s\(single-threaded\)\s+(?P\d+)\s+' r'memory$', self.roofline_ref, 'L3bw', int), - L3bw, -0.08, 0.08), + L3bw, -0.12, 0.08), # check --report=roofs (DP FMA): sn.assert_reference(sn.extractsingle( r'^DP Vector FMA Peak\s\(single-threaded\)\s+' r'(?P\d+)\s+compute$', self.roofline_ref, - 'DPfmabw', int), DPfmabw, -0.08, 0.08), + 'DPfmabw', int), DPfmabw, -0.12, 0.08), # check --report=roofs (DP Add): sn.assert_reference(sn.extractsingle( r'^DP Vector Add Peak\s\(single-threaded\)\s+' r'(?P\d+)\s+compute$', self.roofline_ref, - 'DPaddbw', int), DPaddbw, -0.08, 0.08), + 'DPaddbw', int), DPaddbw, -0.12, 0.08), # check --report=roofs (Scalar Add): sn.assert_reference(sn.extractsingle( r'^Scalar Add Peak\s\(single-threaded\)\s+' r'(?P\d+)\s+compute$', self.roofline_ref, - 'ScalarAddbw', int), ScalarAddbw, -0.08, 0.08), + 'ScalarAddbw', int), ScalarAddbw, -0.12, 0.08), # --- check Arithmetic_intensity: sn.assert_reference(sn.extractsingle( r'^returned\sAI\sgap\s=\s(?P.*)', self.roofline_rpt,