From aff731a9f4292825d7327b602ff1f5eada2e16f1 Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 10:00:43 +0200 Subject: [PATCH 1/9] moving to advisor/2019u3 --- .../intel_advisor_roofline.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 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 bbaafcae0e..d3eea93214 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -7,7 +7,7 @@ @rfm.required_version('>=2.14') @rfm.parameterized_test(*[[repeat, toolsversion, datalayout] for repeat in ['50000'] - for toolsversion in ['551025'] + for toolsversion in ['591264'] for datalayout in ['G3_AOS_SCALAR', 'G3_SOA_SCALAR', 'G3_AOS_VECTOR', 'G3_SOA_VECTOR', 'G3_SOA_VECTOR_FMAS']]) @@ -35,6 +35,7 @@ def __init__(self, repeat, toolsversion, datalayout): # 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'] + self.modules = ['advisor/2019_update3'] self.prgenv_flags = { 'PrgEnv-intel': ['-O2', '-g', '-std=c++11'], } @@ -56,7 +57,7 @@ def __init__(self, repeat, toolsversion, datalayout): # Testing with advisor/2018 Update 2 (build 551025): # advisor/2019 is broken on dom ("Exceeded job memory limit"), # and advisor/2019 is not installed on daint, - 'source $INTEL_PATH/../advisor_2018/advixe-vars.sh', + # 'source $INTEL_PATH/../advisor_2018/advixe-vars.sh', 'advixe-cl -help collect | head -20', ] self.executable = 'advixe-cl' @@ -74,30 +75,30 @@ def __init__(self, repeat, toolsversion, datalayout): L1bw = 293*1024**3 L2bw = 79*1024**3 L3bw = 33*1024**3 - DPfmabw = 49*1024**3 + DPfmabw = 45*1024**3 DPaddbw = 12*1024**3 ScalarAddbw = 3*1024**3 self.sanity_patterns = sn.all([ # check the job status: sn.assert_found('loop complete.', self.stdout), - # check the tool's version: + # check the tool's version (2019=591264, 2018=551025): sn.assert_eq(sn.extractsingle( r'I*.\(build\s(?P\d+)\s*.', self.version_rpt, 'toolsversion'), toolsversion), # --- roofline boundaries: # check --report=roofs (L1 bandwidth): sn.assert_reference(sn.extractsingle( - r'^L1\sBandwidth\s\(single-threaded\)\s+(?P\d+)\s+' + r'^L1\sbandwidth\s\(single-threaded\)\s+(?P\d+)\s+' r'memory$', self.roofline_ref, 'L1bw', int), L1bw, -0.08, 0.08), # check --report=roofs (L2 bandwidth): sn.assert_reference(sn.extractsingle( - r'^L2\sBandwidth\s\(single-threaded\)\s+(?P\d+)\s+' + r'^L2\sbandwidth\s\(single-threaded\)\s+(?P\d+)\s+' r'memory$', self.roofline_ref, 'L2bw', int), L2bw, -0.08, 0.08), # check --report=roofs (L3 bandwidth): sn.assert_reference(sn.extractsingle( - r'^L3\sBandwidth\s\(single-threaded\)\s+(?P\d+)\s+' + r'^L3\sbandwidth\s\(single-threaded\)\s+(?P\d+)\s+' r'memory$', self.roofline_ref, 'L3bw', int), L3bw, -0.08, 0.08), # check --report=roofs (DP FMA): From d884cb9b8b69c14ed6b76c7ddf83c664bafd7eba Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 10:08:55 +0200 Subject: [PATCH 2/9] moving to advisor/2019u3 --- .../profiling_and_debugging/intel_advisor_roofline.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 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 d3eea93214..2ea8d508ad 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -35,6 +35,11 @@ def __init__(self, repeat, toolsversion, datalayout): # 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'] + # Latest advisor is needed because tests with advisor/2018 Update 2 + # (build 551025) raised failures: + # roof.dir/nid00753.000/trc000/trc000.advixe + # Application exit code: 139 + # advisor/2019 is broken on dom ("Exceeded job memory limit") self.modules = ['advisor/2019_update3'] self.prgenv_flags = { 'PrgEnv-intel': ['-O2', '-g', '-std=c++11'], @@ -54,10 +59,6 @@ def __init__(self, repeat, toolsversion, datalayout): 'CRAYPE_LINK_TYPE': 'dynamic', } self.pre_run = [ - # Testing with advisor/2018 Update 2 (build 551025): - # advisor/2019 is broken on dom ("Exceeded job memory limit"), - # and advisor/2019 is not installed on daint, - # 'source $INTEL_PATH/../advisor_2018/advixe-vars.sh', 'advixe-cl -help collect | head -20', ] self.executable = 'advixe-cl' From a4ee1b5aa439e82b8227a9d4de522ed8aaea0bcc Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 15:12:24 +0200 Subject: [PATCH 3/9] Increasing loop size to run > 10ms --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2ea8d508ad..f01272a185 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -6,7 +6,7 @@ @rfm.required_version('>=2.14') @rfm.parameterized_test(*[[repeat, toolsversion, datalayout] - for repeat in ['50000'] + for repeat in ['90000'] for toolsversion in ['591264'] for datalayout in ['G3_AOS_SCALAR', 'G3_SOA_SCALAR', 'G3_AOS_VECTOR', 'G3_SOA_VECTOR', From f318ee5821cee0e8e6eb25c3977ec09d8be70c35 Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 15:13:56 +0200 Subject: [PATCH 4/9] typo --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f01272a185..151acb676e 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -35,7 +35,7 @@ def __init__(self, repeat, toolsversion, datalayout): # 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'] - # Latest advisor is needed because tests with advisor/2018 Update 2 + # Latest advisor is needed because tests with advisor/2018 Update 2 # (build 551025) raised failures: # roof.dir/nid00753.000/trc000/trc000.advixe # Application exit code: 139 From da2c57c04cb537a3cee924e285b5af6f76533479 Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 16:42:23 +0200 Subject: [PATCH 5/9] keep daint only as valid system --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 4 ++-- 1 file changed, 2 insertions(+), 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 151acb676e..43d46ebd63 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -30,7 +30,7 @@ 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', 'dom:mc'] + self.valid_systems = ['daint: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 @@ -39,7 +39,7 @@ def __init__(self, repeat, toolsversion, datalayout): # (build 551025) raised failures: # roof.dir/nid00753.000/trc000/trc000.advixe # Application exit code: 139 - # advisor/2019 is broken on dom ("Exceeded job memory limit") + # 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'], From 640abebceb0432e47984c850ab4a0ed11b7c235c Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 18:04:38 +0200 Subject: [PATCH 6/9] Increasing loop size to run longer --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 6 +++--- 1 file changed, 3 insertions(+), 3 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 43d46ebd63..70e341b6b2 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -6,7 +6,7 @@ @rfm.required_version('>=2.14') @rfm.parameterized_test(*[[repeat, toolsversion, datalayout] - for repeat in ['90000'] + for repeat in ['120000'] for toolsversion in ['591264'] for datalayout in ['G3_AOS_SCALAR', 'G3_SOA_SCALAR', 'G3_AOS_VECTOR', 'G3_SOA_VECTOR', @@ -35,8 +35,8 @@ def __init__(self, repeat, toolsversion, datalayout): # 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'] - # Latest advisor is needed because tests with advisor/2018 Update 2 - # (build 551025) raised failures: + # 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") From 3bc44ad395d068c8d84704dc38304d76f29be113 Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 18:30:54 +0200 Subject: [PATCH 7/9] remove SOA_VECTOR_FMAS and make a bug report --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 5 ++--- 1 file changed, 2 insertions(+), 3 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 70e341b6b2..19561071cd 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -6,11 +6,10 @@ @rfm.required_version('>=2.14') @rfm.parameterized_test(*[[repeat, toolsversion, datalayout] - for repeat in ['120000'] + for repeat in ['100000'] for toolsversion in ['591264'] for datalayout in ['G3_AOS_SCALAR', 'G3_SOA_SCALAR', - 'G3_AOS_VECTOR', 'G3_SOA_VECTOR', - 'G3_SOA_VECTOR_FMAS']]) + 'G3_AOS_VECTOR', 'G3_SOA_VECTOR'] class IntelRooflineTest(rfm.RegressionTest): '''This test checks the values reported by Intel Advisor's roofline model: https://software.intel.com/en-us/intel-advisor-xe From 1e2bd482bf7b0ba404555e21a70fd7f7d92a3576 Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 19:00:59 +0200 Subject: [PATCH 8/9] typo --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 19561071cd..cdf2a3442e 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -9,7 +9,7 @@ for repeat in ['100000'] for toolsversion in ['591264'] for datalayout in ['G3_AOS_SCALAR', 'G3_SOA_SCALAR', - 'G3_AOS_VECTOR', 'G3_SOA_VECTOR'] + 'G3_AOS_VECTOR', 'G3_SOA_VECTOR']]) class IntelRooflineTest(rfm.RegressionTest): '''This test checks the values reported by Intel Advisor's roofline model: https://software.intel.com/en-us/intel-advisor-xe From 5fab1b88d63bb6e973047657b0a906bb996eacb2 Mon Sep 17 00:00:00 2001 From: jgp Date: Tue, 9 Apr 2019 19:01:54 +0200 Subject: [PATCH 9/9] typo --- .../tools/profiling_and_debugging/intel_advisor_roofline.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 cdf2a3442e..97f7749c2c 100644 --- a/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py +++ b/cscs-checks/tools/profiling_and_debugging/intel_advisor_roofline.py @@ -9,7 +9,8 @@ for repeat in ['100000'] for toolsversion in ['591264'] for datalayout in ['G3_AOS_SCALAR', 'G3_SOA_SCALAR', - 'G3_AOS_VECTOR', 'G3_SOA_VECTOR']]) + 'G3_AOS_VECTOR', 'G3_SOA_VECTOR'] + ]) class IntelRooflineTest(rfm.RegressionTest): '''This test checks the values reported by Intel Advisor's roofline model: https://software.intel.com/en-us/intel-advisor-xe