-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmpi.py
More file actions
28 lines (25 loc) · 729 Bytes
/
mpi.py
File metadata and controls
28 lines (25 loc) · 729 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import os
verbose = False
has_key = lambda key : key in os.environ.keys()
cond4mpi4py = not has_key('NERSC_HOST') or (has_key('NERSC_HOST') and has_key('SLURM_SUBMIT_DIR'))
if cond4mpi4py:
try:
from mpi4py import MPI
mpi = MPI
com = MPI.COMM_WORLD
rank = com.Get_rank()
size = com.Get_size()
barrier = com.Barrier
finalize = mpi.Finalize
if verbose: print('mpi.py : setup OK, rank %s in %s' % (rank, size))
except:
rank = 0
size = 1
barrier = lambda: -1
finalize = lambda: -1
if verbose: print('mpi.py: unable to import mpi4py\n')
else:
rank = 0
size = 1
barrier = lambda: -1
finalize = lambda: -1