[cig-commits] r20625 - short/3D/PyLith/benchmarks/trunk/static/performance/solvertest
brad at geodynamics.org
brad at geodynamics.org
Fri Aug 24 12:32:56 PDT 2012
Author: brad
Date: 2012-08-24 12:32:56 -0700 (Fri, 24 Aug 2012)
New Revision: 20625
Added:
short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np006.cfg
short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np012.cfg
short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np024.cfg
short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np048.cfg
short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np096.cfg
Modified:
short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_scaling.jou
short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/run_scaling.py
Log:
Added files for ppn=12 runs.
Added: short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np006.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np006.cfg (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np006.cfg 2012-08-24 19:32:56 UTC (rev 20625)
@@ -0,0 +1,34 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = hex8_np006.exo
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/hex8_np006.h5
+
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/hex8_np006-groundsurf.h5
+
+[pylithapp.timedependent.interfaces.fault_middle.output]
+writer.filename = output/hex8_np006-fault-middle.h5
+
+[pylithapp.timedependent.interfaces.fault_xpos.output]
+writer.filename = output/hex8_np006-fault-xpos.h5
+
+[pylithapp.timedependent.interfaces.fault_xneg.output]
+writer.filename = output/hex8_np006-fault-xneg.h5
+
+[pylithapp.timedependent.materials.uppercrust.output]
+writer.filename = output/hex8_np006-uppercrust.h5
+
+[pylithapp.timedependent.materials.lowercrust.output]
+writer.filename = output/hex8_np006-lowercrust.h5
+
+
+# End of file
Added: short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np012.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np012.cfg (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np012.cfg 2012-08-24 19:32:56 UTC (rev 20625)
@@ -0,0 +1,34 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = hex8_np012.exo
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/hex8_np012.h5
+
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/hex8_np012-groundsurf.h5
+
+[pylithapp.timedependent.interfaces.fault_middle.output]
+writer.filename = output/hex8_np012-fault-middle.h5
+
+[pylithapp.timedependent.interfaces.fault_xpos.output]
+writer.filename = output/hex8_np012-fault-xpos.h5
+
+[pylithapp.timedependent.interfaces.fault_xneg.output]
+writer.filename = output/hex8_np012-fault-xneg.h5
+
+[pylithapp.timedependent.materials.uppercrust.output]
+writer.filename = output/hex8_np012-uppercrust.h5
+
+[pylithapp.timedependent.materials.lowercrust.output]
+writer.filename = output/hex8_np012-lowercrust.h5
+
+
+# End of file
Added: short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np024.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np024.cfg (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np024.cfg 2012-08-24 19:32:56 UTC (rev 20625)
@@ -0,0 +1,34 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = hex8_np024.exo
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/hex8_np024.h5
+
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/hex8_np024-groundsurf.h5
+
+[pylithapp.timedependent.interfaces.fault_middle.output]
+writer.filename = output/hex8_np024-fault-middle.h5
+
+[pylithapp.timedependent.interfaces.fault_xpos.output]
+writer.filename = output/hex8_np024-fault-xpos.h5
+
+[pylithapp.timedependent.interfaces.fault_xneg.output]
+writer.filename = output/hex8_np024-fault-xneg.h5
+
+[pylithapp.timedependent.materials.uppercrust.output]
+writer.filename = output/hex8_np024-uppercrust.h5
+
+[pylithapp.timedependent.materials.lowercrust.output]
+writer.filename = output/hex8_np024-lowercrust.h5
+
+
+# End of file
Added: short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np048.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np048.cfg (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np048.cfg 2012-08-24 19:32:56 UTC (rev 20625)
@@ -0,0 +1,35 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+reader.filename = hex8_np006.exo
+refiner = pylith.topology.RefineUniform
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/hex8_np048.h5
+
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/hex8_np048-groundsurf.h5
+
+[pylithapp.timedependent.interfaces.fault_middle.output]
+writer.filename = output/hex8_np048-fault-middle.h5
+
+[pylithapp.timedependent.interfaces.fault_xpos.output]
+writer.filename = output/hex8_np048-fault-xpos.h5
+
+[pylithapp.timedependent.interfaces.fault_xneg.output]
+writer.filename = output/hex8_np048-fault-xneg.h5
+
+[pylithapp.timedependent.materials.uppercrust.output]
+writer.filename = output/hex8_np048-uppercrust.h5
+
+[pylithapp.timedependent.materials.lowercrust.output]
+writer.filename = output/hex8_np048-lowercrust.h5
+
+
+# End of file
Added: short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np096.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np096.cfg (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_np096.cfg 2012-08-24 19:32:56 UTC (rev 20625)
@@ -0,0 +1,35 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+reader.filename = hex8_np012.exo
+refiner = pylith.topology.RefineUniform
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/hex8_np096.h5
+
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/hex8_np096-groundsurf.h5
+
+[pylithapp.timedependent.interfaces.fault_middle.output]
+writer.filename = output/hex8_np096-fault-middle.h5
+
+[pylithapp.timedependent.interfaces.fault_xpos.output]
+writer.filename = output/hex8_np096-fault-xpos.h5
+
+[pylithapp.timedependent.interfaces.fault_xneg.output]
+writer.filename = output/hex8_np096-fault-xneg.h5
+
+[pylithapp.timedependent.materials.uppercrust.output]
+writer.filename = output/hex8_np096-uppercrust.h5
+
+[pylithapp.timedependent.materials.lowercrust.output]
+writer.filename = output/hex8_np096-lowercrust.h5
+
+
+# End of file
Modified: short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_scaling.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_scaling.jou 2012-08-24 00:11:59 UTC (rev 20624)
+++ short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/hex8_scaling.jou 2012-08-24 19:32:56 UTC (rev 20625)
@@ -24,6 +24,8 @@
# ----------------------------------------------------------------------
# Loop to create meshes for scaling benchmark.
#{dx0=2000.0*m}
+#{ppn=12}
+
#{iloop=0}
#{Loop(6)}
#{if(iloop==0)}
@@ -31,13 +33,24 @@
#{else}
#{dx=dx0/(2.0**iloop)**(1.0/3.0)}
#{endif}
+ #{if(ppn==12 && iloop>2)} {dx=dx0/(0.75*2.0**iloop)**(1.0/3.0)} {endif}
- #{if(iloop==0)} {meshout="hex8_np001.exo"} {endif}
- #{if(iloop==1)} {meshout="hex8_np002.exo"} {endif}
- #{if(iloop==2)} {meshout="hex8_np004.exo"} {endif}
- #{if(iloop==3)} {meshout="hex8_np008.exo"} {endif}
- #{if(iloop==4)} {meshout="hex8_np016.exo"} {endif}
- #{if(iloop==5)} {meshout="hex8_np032.exo"} {endif}
+ #{if(ppn==8)}
+ #{if(iloop==0)} {meshout="hex8_np001.exo"} {endif}
+ #{if(iloop==1)} {meshout="hex8_np002.exo"} {endif}
+ #{if(iloop==2)} {meshout="hex8_np004.exo"} {endif}
+ #{if(iloop==3)} {meshout="hex8_np008.exo"} {endif}
+ #{if(iloop==4)} {meshout="hex8_np016.exo"} {endif}
+ #{if(iloop==5)} {meshout="hex8_np032.exo"} {endif}
+ #{endif}
+ #{if(ppn==12)}
+ #{if(iloop==0)} {meshout="hex8_np001.exo"} {endif}
+ #{if(iloop==1)} {meshout="hex8_np002.exo"} {endif}
+ #{if(iloop==2)} {meshout="hex8_np004.exo"} {endif}
+ #{if(iloop==3)} {meshout="hex8_np006.exo"} {endif}
+ #{if(iloop==4)} {meshout="hex8_np012.exo"} {endif}
+ #{if(iloop==5)} {meshout="hex8_np024.exo"} {endif}
+ #{endif}
delete mesh volume all propagate
@@ -46,8 +59,7 @@
playback 'setbc.jou'
export mesh {Quote(meshout)} dimension 3 overwrite
- #{tt=iloop+1}
- #{iloop=tt}
+ #{iloop++}
#{endloop}
@@ -56,3 +68,5 @@
+
+
Modified: short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/run_scaling.py
===================================================================
--- short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/run_scaling.py 2012-08-24 00:11:59 UTC (rev 20624)
+++ short/3D/PyLith/benchmarks/trunk/static/performance/solvertest/run_scaling.py 2012-08-24 19:32:56 UTC (rev 20625)
@@ -1,20 +1,21 @@
#!/usr/bin/env python
#
-# Python script to facilitate running scaling benchmarks using cluster
-# with PBS scheduler.
+# Python script to facilitate running scaling benchmarks.
#
-# REQUIRES: $HOME/.pyre/pylithapp/pylithapp_pbs.cfg file with PBS options.
+# Use QUEUE == None if not using batch system.
import os
import sys
import subprocess
-if len(sys.argv) != 5:
- raise ValueError("usage: run_scaling.py PC CELL DOMAIN NPROCS")
+if len(sys.argv) != 7:
+ raise ValueError("usage: run_scaling.py PC CELL DOMAIN PPN NNODES QUEUE")
pc = sys.argv[1]
cell = sys.argv[2]
domain = sys.argv[3]
-nprocs = int(sys.argv[4])
+ppn = int(sys.argv[4])
+nnodes = int(sys.argv[5])
+queue = sys.argv[6]
if not pc in ["asm_reduced", "asm", "amg", "schur"]:
raise ValueError("PC type (%s) must be 'asm_reduced', 'asm', 'amg', or 'schur'." % pc)
@@ -22,14 +23,13 @@
raise ValueError("Cell type (%s) must be 'hex8' or 'tet4'." % cell)
if not domain in ["original", "cube"]:
raise ValueError("Domain (%s) must be 'original' or 'cube'." % domain)
-if nprocs != 1 and (nprocs % 2) != 0:
- raise ValueError("Number of processors (%d) must be a power of 2." % nprocs)
-
+nprocs = ppn*nnodes
for d in ["output", "logs"]:
if not os.path.isdir(d):
os.mkdir(d)
+
if domain == "cube":
job = "%s_%s_%s_np%03d" % (cell, domain, pc, nprocs)
mesh = "%s_%s_np%03d" % (cell, domain, nprocs)
@@ -37,7 +37,11 @@
job = "%s_%s_np%03d" % (cell, pc, nprocs)
mesh = "%s_np%03d" % (cell, nprocs)
-pbsfile = os.environ['HOME'] + "/.pyre/pylithapp/pylithapp_pbs.cfg"
+if queue.lower() != "none":
+ batchfile = os.environ['HOME'] + "/.pyre/pylithapp/pylithapp_%s.cfg" % queue
+else:
+ batchfile = ""
+
if pc == "asm_reduced" or pc =="asm":
pcfiles = " pc_asm.cfg"
elif pc == "amg":
@@ -50,17 +54,26 @@
else:
bcfiles = " bc_reduced.cfg nooutput.cfg %s.cfg"
-args = pbsfile + " --job.name=%s --job.stdout=logs/%s.log --job.stderr=logs/%s.err --petsc.log_summary_python=logs/%s.py" % (job, job, job, job)
+args = batchfile + " --job.name=%s --job.stdout=logs/%s.log --job.stderr=logs/%s.err --petsc.log_summary_python=logs/%s.py" % (job, job, job, job)
-if nprocs < 8:
- ppn = nprocs
-else:
- ppn = 8
+if queue.lower() == "none":
+ cmd = "pylith " + bcfiles + pcfiles + \
+ " %s.cfg " % (mesh,) + \
+ " --nodes=%d " % (ppn*nnodes) + \
+ args
-cmd = "pylith " + bcfiles + pcfiles + \
- " %s.cfg " % (mesh,) + \
- " --nodes=%d --scheduler.ppn=%d " % (nprocs, ppn) + \
- args
+elif queue == "pbs":
+ cmd = "pylith " + bcfiles + pcfiles + \
+ " %s.cfg " % (mesh,) + \
+ " --nodes=%d --scheduler.ppn=%d " % (nprocs, ppn) + \
+ args
+elif queue == "lonestar":
+ cmd = "pylith " + bcfiles + pcfiles + \
+ " %s.cfg " % (mesh,) + \
+ " --nodes=%d --scheduler.pe-name=%dway --scheduler.pe-number=%s " % (nprocs, ppn, max(12, ppn)*nnodes) + \
+ args
+
+
print cmd
-subprocess.call(cmd, shell=True)
+#subprocess.call(cmd, shell=True)
More information about the CIG-COMMITS
mailing list