mirror of https://github.com/abinit/abipy.git
Add manager for jureca
This commit is contained in:
parent
38929f1b56
commit
a037a613f9
|
@ -168,7 +168,7 @@ def make_input():
|
|||
tsmear=0.002,
|
||||
nbdbuf=20,
|
||||
|
||||
# Activation/desactvation des I/O
|
||||
# IO
|
||||
optforces=2,
|
||||
optstress=1,
|
||||
prtwf=0,
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
setup.py
12
setup.py
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue