Skip to content

Commit

Permalink
Add manager for jureca
Browse files Browse the repository at this point in the history
  • Loading branch information
gmatteo committed Jan 22, 2016
1 parent 38929f1 commit a037a61
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 11 deletions.
2 changes: 1 addition & 1 deletion abipy/benchmarks/AU107/flowgen.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ def make_input():
tsmear=0.002,
nbdbuf=20,

# Activation/desactvation des I/O
# IO
optforces=2,
optstress=1,
prtwf=0,
Expand Down
1 change: 1 addition & 0 deletions abipy/benchmarks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ def wrapper(*args, **kwargs):
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")

Expand Down
8 changes: 6 additions & 2 deletions abipy/benchmarks/gs_kpara.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
9 changes: 7 additions & 2 deletions abipy/benchmarks/gs_paralkgb.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,20 @@ 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)

flow = BenchmarkFlow(workdir="bench_paralkgb")
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)

Expand Down
2 changes: 2 additions & 0 deletions abipy/benchmarks/scr.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
38 changes: 38 additions & 0 deletions abipy/data/managers/jureca.yml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 4 additions & 0 deletions circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,7 @@ dependenciees:
# - nosetests:
# environment:
# PYTHONPATH: $PYTHONPATH:/usr/lib/python2.7/dist-packages/
general:
branches:
ignore: # list of branches to ignore
- master
12 changes: 6 additions & 6 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,16 +170,16 @@ def cleanup():
"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",
Expand Down

0 comments on commit a037a61

Please sign in to comment.