From 8921ac52de73030bee5b87fb869f0621d96c042b Mon Sep 17 00:00:00 2001
From: Mark Turner <dc-turn5@b101.pri.cosma7.alces.network>
Date: Thu, 18 Feb 2021 15:24:55 +0000
Subject: [PATCH] reframe

---
 benchmark-slow/build/cosma7.py                |  88 ++++++++++++++++++
 benchmark-slow/build/swiftReframeTest.py      |  28 ++++++
 .../job-aps/__pycache__/cosma7.cpython-36.pyc | Bin 0 -> 1674 bytes
 .../swiftReframeTest.cpython-36.pyc           | Bin 0 -> 1679 bytes
 benchmark-slow/job-aps/cosma7.py              |  88 ++++++++++++++++++
 benchmark-slow/job-aps/swiftReframeTest.py    |  52 +++++++++++
 6 files changed, 256 insertions(+)
 create mode 100644 benchmark-slow/build/cosma7.py
 create mode 100644 benchmark-slow/build/swiftReframeTest.py
 create mode 100644 benchmark-slow/job-aps/__pycache__/cosma7.cpython-36.pyc
 create mode 100644 benchmark-slow/job-aps/__pycache__/swiftReframeTest.cpython-36.pyc
 create mode 100644 benchmark-slow/job-aps/cosma7.py
 create mode 100644 benchmark-slow/job-aps/swiftReframeTest.py

diff --git a/benchmark-slow/build/cosma7.py b/benchmark-slow/build/cosma7.py
new file mode 100644
index 0000000..3dcb16d
--- /dev/null
+++ b/benchmark-slow/build/cosma7.py
@@ -0,0 +1,88 @@
+site_configuration = {
+    'systems': [
+        {
+            'name': 'cosma7',
+            'descr': 'Cosma7',
+            'hostnames': ['login7b.pri.cosma7.alces.network', 'login7c.pri.cosma7.alces.network', 'login7a.pri.cosma7.alces.network'],
+            'modules_system': 'tmod4',
+            'partitions': [
+                {
+                    'name': 'login',
+                    'descr': 'login nodes',
+                    'scheduler': 'local',
+                    'launcher': 'local',
+                    'environs': ['intelcosma7'],
+                    'max_jobs': 100,
+                },
+                {
+                    'name': 'cpu_single_node',
+                    'descr': 'cpu nodes - single node',
+                    'scheduler': 'slurm',
+                    'launcher': 'local',
+                    'access': ['-p cosma7', '-A ds007'],
+                    'environs': ['intelcosma7'],
+                    'max_jobs': 100,
+                },
+                {
+                    'name': 'cpu_multi_node',
+                    'descr': 'cpu nodes - multi node',
+                    'scheduler': 'slurm',
+                    'launcher': 'mpirun',
+                    'access': ['-p cosma7', '-A ds007'],
+                    'environs': ['intelcosma7'],
+                    'max_jobs': 100,
+                }
+            ]
+        }
+    ],
+    'environments': [
+        {
+            'modules': ['intel_comp/2018', 'intel_mpi/2018',
+                        'parmetis/4.0.3', 'parallel_hdf5/1.10.3',
+                        'gsl/2.4', 'fftw/3.3.8cosma7',
+                        'python/3.6.5'],
+            'name': 'intelcosma7',
+            'cc': 'icc',
+            'cxx': 'icpc',
+            'ftn': '',
+            'target_systems': ['cosma7']
+        }
+    ],
+    'logging': [
+        {
+            'level': 'debug',
+            'handlers': [
+                {
+                    'type': 'stream',
+                    'name': 'stdout',
+                    'level': 'info',
+                    'format': '%(message)s'
+                },
+                {
+                    'type': 'file',
+                    'name': 'reframe.log',
+                    'level': 'debug',
+                    'format': '[%(asctime)s] %(levelname)s: %(check_info)s: %(message)s',   # noqa: E501
+                    'append': False
+                }
+            ],
+            'handlers_perflog': [
+                {
+                    'type': 'filelog',
+                    'prefix': '%(check_system)s/%(check_partition)s',
+                    'level': 'info',
+                    'format': (
+                        '%(check_job_completion_time)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
+                }
+            ]
+        }
+    ],
+}
diff --git a/benchmark-slow/build/swiftReframeTest.py b/benchmark-slow/build/swiftReframeTest.py
new file mode 100644
index 0000000..3a616ad
--- /dev/null
+++ b/benchmark-slow/build/swiftReframeTest.py
@@ -0,0 +1,28 @@
+import reframe as rfm
+import reframe.utility.sanity as sn
+
+
+GIT_REV = 'master'
+
+@rfm.simple_test
+class PMillenniumTest(rfm.RegressionTest):
+    def __init__(self):
+        self.valid_systems = ['cosma7:cpu_single_node']
+        self.valid_prog_environs = ['*']		
+        self.build_system = 'Autotools'
+        self.prebuild_cmds = [
+            'rm -rf swiftsim',
+            'git clone https://gitlab.cosma.dur.ac.uk/swift/swiftsim.git',
+            'pushd swiftsim',
+            f'git checkout {GIT_REV}',     
+            'git clean -x -f -d',      
+            './autogen.sh',
+            'cd ./'
+        ]
+        self.build_system.max_concurrency = 32
+        self.build_system.config_opts = [
+            '--enable-ipo',
+            '--with-tbbmalloc',
+			'--with-parmetis'
+        ]
+        self.sanity_patterns = sn.assert_found("", self.stdout)
diff --git a/benchmark-slow/job-aps/__pycache__/cosma7.cpython-36.pyc b/benchmark-slow/job-aps/__pycache__/cosma7.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..24573fd96f33180a530fc9084eef89d8ce595663
GIT binary patch
literal 1674
zcmXr!<>m5j)JsU@VPJU7fCTs$7#JKF7#NE8FfcHrFr+Z1Fr_f3u%xi2v!t-4u%~dO
zaHepkaHTV*aHsIhVN2mn;Y;C9;Y<-o5lm--iVMwQPZ3TLN#RcsMHf$JP7#~Kn$DOa
zo+6PVnIe@Uog$MWn<AIak;0WCpQ4bWn8J|Gn4&a?EuAq%IYlK!HAO8&Jw;;<ONwTS
zR*G_pc8X4l?i|*1rWCyt{S>tngA~IQBe03abC}Z^Q%vSCM=_+B1~X`yMX@F47w0CL
zN3l7B=_=VILjyy-f}%`4h=g8ZPI79oUS4WRd45rLl|oK_dS;$^5<wNo1XU#BRB?;7
zBsV|B<Q6N~vMO#crI44Ol3ENBOHRy*;?B$~NzH*c@ns4F1A`{pEtb5*+|*mFDXGQD
zMYlMMlQU9NN^??+ZgJ!!mgXgAfLN({Wtm0!dBwLlauX}!v+|RQqxh2xO5=+&^U`xt
z<3Uzbi6<A7LM&6zRe(r<xwlx0b4rVHt2lKF6d)E?ap*cKq!b$%m}{~Zu`)0)6tRH_
zb`ZhAz`$^eEipMcwYa#56C}dLz`zj22eK`<G^ZpJVwo7SWngizT~Tbg1(`*qd77*U
zb8m5G<QJEK{8)U8FE=0Lx8nHX%HopL+*@1)iA5!uC7Jno#Z~;^pove;&n?h5GBC8L
z;)4j}7Gy&C1&KwusU?}k`X+h?dd5{E1&Kw8IXS60@fj&;ruv3@h9FV)^x_<SBR!KU
zfwZ)ea(!bxV?7I~w|NRGOEU8F^o{k*^h~2z%SuY~QlpqNlar%ZGLs9EZ-F9%9qK}`
z`)@HNC*NXDuBf=hoK})|i?1ZHC_S|V>iA+%lqHp>-(o8+DN0Su1<@(_r6spmGV{{%
ztGHD)a#M?o6Vp>Qi#1tpv6NI6q(Tg3%}Fgw&AG*vmS2>cSaORcEi)&zin}N^ttc@!
zRWBz$y~-k5RU@%Dxg;|;RkJu&K~)2+0~Cas#a0Tc8p#={$=UHBYao2MMQ)m`MN*(h
z1IMZ~h$RDw(1L>0yp&t)AiF>|sK5+?M1*FsK1=`}Bbvok&tQUC`AOi2$w>vpRXoID
zHBcujsA`m@78Pga=V=z#z;r+ySCf^Wl$l}+69n^+6cwZvrNx&e7HJm4l|Y4ZN>eq9
zK^CA&6s4wV7At7vpo-??m!}rRmt+*B7HbykD3qegmKGEsWHsRq1Y1;^msz4&90Cos
zTWkeIscD%NMeu+tk^^N?X0X65j*P^-l$_L};#&eRRy@d*ocwf6=3DHLkSxB%1I?_t
zsd**Ex7c&?)6+Ba()~0UZwVD=mZZif=jWwmrk55af`W1-Ly<ZtmO#X>cztj})z8S!
zP1R2+Ey_sD)lW&*Eh#O^Gu1CH&rB=PO)l02SqVxxdC94|pt7wvBfmh`$iT=@KPfdY
zIU_f*C|kEUC%;@jD?dp$v7i`YsJUK2<t+{yNb0s@0o4L=3=9lRj7*GNj7-cR8iZLG
k+2Cw8Msyw@I}0NSvN3|xf-n~=OfNzo2P;U1iHV5=04R6~*Z=?k

literal 0
HcmV?d00001

diff --git a/benchmark-slow/job-aps/__pycache__/swiftReframeTest.cpython-36.pyc b/benchmark-slow/job-aps/__pycache__/swiftReframeTest.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1f966a47a3e8f71ba4658384d4578d766c720da8
GIT binary patch
literal 1679
zcmXr!<>gw`qL;9qje+4Y0}^0mU|?`yU|=XVVPIfLVMt-jVTfV`(@a^+Su9bkDNIpp
zsf=0d?hGl+DJ(4vDJ-dsSscyG&5Ti;DU87knyfED#`#6D<t7%Fq!uNEcreTaGhKv%
zfgu%aauibvV+vCXLlkogb1;J@%Psx@-^`qx)V#dR(%g{L;*w-WsBVzc_!$@&oI%dp
z1#%u^3R5~$4MRLb3UfMR4MRL*3QG+`JW~oo4MRM03Tp~m3VRAi3CnDTxlAdXDO@Ss
z>FhNO@vJF4H4Iry@oXu)DSRpX>C9jrdx}6UV+|wN9F7#h8b**VFpo1usFo>3xRyCZ
zq?RQ`G({{$JVhc!GDRvyIz^_28Kf>nwuWgoLyBCAe2PL1%WQ@e#ktHWO6hzx4Dnng
z+*v#+$~6pGyv-oD@})2YGia*#Rf#3%7w0CLTO}8i#usPirRSu^=jErQR*52s=a%M_
zWP*inF>2l7bSy2&FUil(DX!u#%2m)UN>eB<&rB;R&djZ{PR}e+NY2U6OI64yDJdwn
z($`PVEXhes(gPc(mr`1!mzb<qnynAk0wIetbM?|QORD$^N{cg65Qg!B4a-PP&dx6_
zQK%9Eb8}J?^AvO|6m-)RbW^H$^z;);OY+lG^Yn@{s#ud#6!i38DljlGRPpHQrsgFk
z<)rFn7UWk6=<1edmSpIbBqil0=H%ojSMftd3KENQQ%f?7t8~FGD$dN+PpwGIEyzhN
z)<;SL$ZTD6Gm9!Vh+|)ZlEq6<QmxX}2m4V!BR@A)Kc%!NBQaM$C0Vzmv?$LM?oqhm
zQOt=2#Z{8Jy2<%DIjPAdnfZCTx%nxnwz&nFI{CQ;Rs4E-`g(d0jq$k!nN{2%wZ*yl
zIr-_8ReZX-#i==Iy6HuUWtk<FRZO~Nw-^npxO8<(GKx|YQ;Kb?m~`{1m~;cG1cOqG
zOA?Dpimf04Vr5VzryJmzmsygTnB$zEmy!vxyx1x&6BPG}xv5rFQu+nC;MAX4nhWtc
z$j^EiDQTuvd<D87Ij}%wZq6+RP5xWFWr;bNDe=XX#U-h^#kYhZ+=8O~^!U`gvdp6V
zyy9CtNu`-NFg3Thit|g0l2eOQGK+4pyL*Pj2f2pb;w>mjg{Vr-O)0*`pPN__pPZkU
zTv}9=nwMO8i#s_#FD)}YKEI%(_!d`oYHC3|$kD~OxC@F>i%Rq2A=*+aQj<$dKyeRI
z$yA(oizl(TIJKxGJ}tjAFXa|naY;&kX~`}A;>5hnlFImk#FCQKqP${F)>|x~V2$D^
zNi8mkPsuEb;>#<|jn6DeElLE3QWQ6c4-Mlew#;OZqLmCqQVa|XzcLA?0Nvzb-GbDj
zwEUvn#JuEG-SYgR?Bb040$n2mBSZb9)V$=3+{B`6-Qt}5a{a9QB;CY<Vn`AQN=++D
z%uNLqMS2C5w>aYCGxIV_;^R3%#Skd{F)(s5axk(nvN16+f*=QkWa0qxxtLiPIT-nv
zSQuFtS(sSBa!iaMF*ZgPkWS_*38dr>wgzT}pC${)zP!ZT)cE*YT=DU_`6;D2AU02Y
zd|_!~4n(F%hJgVR5a7^&5YiwqP<hJ^awmwv!BhmIG`ViE7eV}Vi@7K*_m&uxr&n5%
znUh&ksRxOhTkKH&EjEZiktoPWJ_ZJcTinH&po|(1imY3FL8<9Qsl~;a`FSAMgDru$
h0Tee77RWWXIBX#9w*zI}Vh#od1`b9ZW)>zsMgS6w{j2~0

literal 0
HcmV?d00001

diff --git a/benchmark-slow/job-aps/cosma7.py b/benchmark-slow/job-aps/cosma7.py
new file mode 100644
index 0000000..6c425fe
--- /dev/null
+++ b/benchmark-slow/job-aps/cosma7.py
@@ -0,0 +1,88 @@
+site_configuration = {
+    'systems': [
+        {
+            'name': 'cosma7',
+            'descr': 'Cosma7',
+            'hostnames': ['b101.pri.cosma7.alces.network', 'login7b.pri.cosma7.alces.network', 'login7c.pri.cosma7.alces.network', 'login7a.pri.cosma7.alces.network'],
+            'modules_system': 'tmod4',
+            'partitions': [
+                {
+                    'name': 'login',
+                    'descr': 'login nodes',
+                    'scheduler': 'local',
+                    'launcher': 'local',
+                    'environs': ['intelcosma7'],
+                    'max_jobs': 100,
+                },
+                {
+                    'name': 'cpu_single_node',
+                    'descr': 'cpu nodes - single node',
+                    'scheduler': 'slurm',
+                    'launcher': 'local',
+                    'access': ['-p cosma7', '-A ds007'],
+                    'environs': ['intelcosma7'],
+                    'max_jobs': 100,
+                },
+                {
+                    'name': 'cpu_multi_node',
+                    'descr': 'cpu nodes - multi node',
+                    'scheduler': 'slurm',
+                    'launcher': 'mpirun',
+                    'access': ['-p cosma7', '-A ds007'],
+                    'environs': ['intelcosma7'],
+                    'max_jobs': 100,
+                }
+            ]
+        }
+    ],
+    'environments': [
+        {
+            'modules': ['intel_comp/2018', 'intel_mpi/2018',
+                        'parmetis/4.0.3', 'parallel_hdf5/1.10.3',
+                        'gsl/2.4', 'fftw/3.3.8cosma7',
+                        'python/3.6.5','vtune'],
+            'name': 'intelcosma7',
+            'cc': 'icc',
+            'cxx': 'icpc',
+            'ftn': '',
+            'target_systems': ['cosma7']
+        }
+    ],
+    'logging': [
+        {
+            'level': 'debug',
+            'handlers': [
+                {
+                    'type': 'stream',
+                    'name': 'stdout',
+                    'level': 'info',
+                    'format': '%(message)s'
+                },
+                {
+                    'type': 'file',
+                    'name': 'reframe.log',
+                    'level': 'debug',
+                    'format': '[%(asctime)s] %(levelname)s: %(check_info)s: %(message)s',   # noqa: E501
+                    'append': False
+                }
+            ],
+            'handlers_perflog': [
+                {
+                    'type': 'filelog',
+                    'prefix': '%(check_system)s/%(check_partition)s',
+                    'level': 'info',
+                    'format': (
+                        '%(check_job_completion_time)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
+                }
+            ]
+        }
+    ],
+}
diff --git a/benchmark-slow/job-aps/swiftReframeTest.py b/benchmark-slow/job-aps/swiftReframeTest.py
new file mode 100644
index 0000000..c0a4b91
--- /dev/null
+++ b/benchmark-slow/job-aps/swiftReframeTest.py
@@ -0,0 +1,52 @@
+import reframe as rfm
+import reframe.utility.sanity as sn
+
+
+GIT_REV = 'master'
+
+@rfm.simple_test
+class PMillenniumTest(rfm.RegressionTest):
+    def __init__(self):
+        self.valid_systems = ['cosma7:cpu_single_node','cosma7:cpu_multi_node']
+        self.valid_prog_environs = ['*']
+        self.build_system = 'Autotools'
+        self.sourcesdir = None   # Added
+        self.prebuild_cmds = [
+            'rm -rf swiftsim',
+            'git clone https://gitlab.cosma.dur.ac.uk/swift/swiftsim.git',
+            'pushd swiftsim',
+            f'git checkout {GIT_REV}',
+            'git clean -x -f -d',
+            './autogen.sh',
+            'cd ./'
+        ]
+        self.build_system.max_concurrency = 32
+        self.build_system.config_opts = [
+            '--enable-ipo',
+            '--with-tbbmalloc',
+            '--with-parmetis'
+        ]
+        
+        test_dir = 'swiftsim/examples/PMillennium/PMillennium-768'
+        self.keep_files = [test_dir]
+        self.prerun_cmds = [f'pushd {test_dir}']
+        #self.executable = 'mpirun'   #temp copied out
+        num_iterations = 1
+        num_threads = 64
+        ic_dir = '/cosma/home/durham/dc-turn5/swiftsim/examples'
+        self.executable_opts = [
+            'aps', '--collection-mode=mpi,omp',
+            '../../swift_mpi',
+            '--cosmology',
+            '--self-gravity',
+            '-v', '1',
+            f'--threads={num_threads}',
+            '-n', f'{num_iterations}',
+            '-P', 'Restarts:enable:0',
+            f'-PInitialConditions:file_name:{ic_dir}/pmillenium/PMill-768.hdf5',
+            'p-mill-768.yml'
+        ]
+        
+        self.sanity_patterns = sn.assert_found("", self.stdout) # moved from above
+
+
-- 
GitLab