Add manager for jureca

This commit is contained in:
Matteo Giantomassi 2016-01-22 18:36:40 +01:00
parent 38929f1b56
commit a037a613f9
8 changed files with 65 additions and 11 deletions

View File

@ -168,7 +168,7 @@ def make_input():
tsmear=0.002,
nbdbuf=20,
# Activation/desactvation des I/O
# IO
optforces=2,
optstress=1,
prtwf=0,

View File

@ -41,6 +41,7 @@ def bench_main(main):
parser.add_argument("--omp-range", default=None, help="Range of OMP threads to be tested."
"'--omp-range='(1,4,2)' performs benchmarks for omp_threads in [1, 3]")
parser.add_argument("--max-ncpus", default=None, type=int, help="Maximum number of CPUs to be tested.")
parser.add_argument('--paw', default=False, action="store_true", help="Run PAW calculation if present")
#parser.add_argument('--paral_kgb', default=1, type=int, help="paral_kgb input variable")

View File

@ -44,8 +44,12 @@ def build_flow(options):
flow = BenchmarkFlow(workdir="bench_gs_kpara")
work = abilab.Work()
mpi_range = range(1, nkpt*inp.nsppol + 1) if options.mpi_range is None else options.mpi_range
print("Using mpi_range:", mpi_range)
if options.mpi_range is None:
mpi_range = range(1, nkpt*inp.nsppol + 1)
print("Using mpi_range:", mpi_range, " = nkpt * nsppol")
else options.mpi_range:
print("Using mpi_range from cmd line:", mpi_range)
for mpi_procs in mpi_range:
manager = options.manager.deepcopy()

View File

@ -47,7 +47,12 @@ def build_flow(options):
template = make_input()
# Get the list of possible parallel configurations from abinit autoparal.
max_ncpus = 10
max_ncpus, min_eff = options.max_ncpus, 0.7
if max_ncpus is None:
raise RuntimeError("This benchmark requires --max-ncpus")
else:
print("Getting all autoparal confs up to max_ncpus: ",max_ncpus," with efficiency >= ",min_eff)
pconfs = template.abiget_autoparal_pconfs(max_ncpus, autoparal=1)
print(pconfs)
@ -55,7 +60,7 @@ def build_flow(options):
work = abilab.Work()
for conf in pconfs:
if conf.efficiency < 0.7: continue
if conf.efficiency < min_eff: continue
inp = template.deepcopy()
inp.set_vars(conf.vars)

View File

@ -105,6 +105,8 @@ def scr_benchmark(options):
scr_work = abilab.Work()
print("Using mpi_range:", options.mpi_range)
if options.mpi_range is None:
raise RuntimeError("This benchmark requires --mpi-range")
# Get the list of possible parallel configurations from abinit autoparal.
#max_ncpus = 10

View File

@ -0,0 +1,38 @@
# See http://www.fz-juelich.de/ias/jsc/EN/Expertise/Supercomputers/JURECA/Configuration/Configuration_node.html
# and
# http://www.fz-juelich.de/ias/jsc/EN/Expertise/Supercomputers/JURECA/UserInfo/QuickIntroduction.html?nn=1803700#JURECABatchPart
devel: &devel
num_nodes: 8
sockets_per_node: 2
cores_per_socket: 12
mem_per_node: 128Gb
batch: &batch
num_nodes: 128
sockets_per_node: 2
cores_per_socket: 12
mem_per_node: 128Gb
job: &job
mpi_runner: mpirun
shell_env:
PATH: $HOME/local/bin:$PATH
modules:
- python/2.7
# pre_run is a string in verbatim mode (note |)
pre_run: |
ulimit unlimited
# queues
qadapters:
- priority: 1
max_num_launches: 20
queue:
qname: devel
qtype: slurm
limits:
timelimit: 2:0:0
min_cores: 1
max_cores: 192
hardware: *devel
job: *job

View File

@ -16,3 +16,7 @@ dependenciees:
# - nosetests:
# environment:
# PYTHONPATH: $PYTHONPATH:/usr/lib/python2.7/dist-packages/
general:
branches:
ignore: # list of branches to ignore
- master

View File

@ -170,16 +170,16 @@ install_requires = [
"six",
"prettytable",
"apscheduler==2.1.0",
"numpy>=1.8",
"pydispatcher>=2.0.3",
"pyyaml>=3.11",
"scipy>=0.10",
"pandas",
"netCDF4",
"pymatgen>=3.0.8",
"wxmplot",
"html2text",
"pigments",
"pyyaml>=3.11",
"pandas",
"numpy>=1.8",
"scipy>=0.10",
"pymatgen>=3.0.8",
"netCDF4",
#"matplotlib>=1.1",
#"seaborn",
#"psutil",