if __name__ == "__main__": from pyina import mpi, ensure_mpi world = mpi.world ensure_mpi(size=2, doc=doc) def func(input): import time from pyina import mpi world = mpi.world time.sleep(0.0001) return "-%d" % world.rank inputlist = [] if world.rank == 0: inputlist = [0] * 300 for i in range(20): if world.rank == 0: print "iteration %d" % i out = parallel_map(func, inputlist, comm = world) if world.rank == 0: print ''.join(out) # End of file
__doc__ = """ # print rank - hostname info # To run: alias mpython='mpiexec -np [#nodes] `which python`' mpython machines_raw.py """ def host(id): import socket return "Rank: %d -- %s" % (id, socket.gethostname()) if __name__ == '__main__': try: from pyina.mpi_scatter import parallel_map import pyina world = pyina.mpi.world hostnames = parallel_map(host, range(world.size)) if world.rank == 0: print '\n'.join(hostnames) except: print __doc__ # end of file
if __name__ == "__main__": from pyina import mpi, ensure_mpi world = mpi.world ensure_mpi(size=2, doc=doc) def func(input): import time from pyina import mpi world = mpi.world time.sleep(0.0001) return "-%d" % world.rank inputlist = [] if world.rank == 0: inputlist = [0] * 300 for i in range(20): if world.rank == 0: print("iteration %d" % i) out = parallel_map(func, inputlist, comm = world) if world.rank == 0: print(''.join(out)) # End of file
argfilename = sys.argv[2] outfilename = sys.argv[3] if funcname.endswith('.pik'): # used pickled func workdir = None func = pickle.load(open(funcname, 'r')) else: # used tempfile for func workdir = sys.argv[4] sys.path = [workdir] + sys.path modname = os.path.splitext(os.path.basename(funcname))[0] module = __import__(modname) sys.path.pop(0) func = module.FUNC args, kwds = pickle.load(open(argfilename, 'r')) if world.rank == 0: log.info('funcname: %s' % funcname) # sys.argv[1] log.info('argfilename: %s' % argfilename) # sys.argv[2] log.info('outfilename: %s' % outfilename) # sys.argv[3] log.info('workdir: %s' % workdir) # sys.argv[4] log.info('func: %s' % func) log.info('args: %s' % str(args)) log.info('kwds: %s' % str(kwds)) res = parallel_map(func, *args, **kwds) #XXX: called on ALL nodes ? if world.rank == 0: log.info('res: %s' % str(res)) pickle.dump(res, open(outfilename, 'w')) # end of file
outfilename = sys.argv[3] if funcname.endswith('.pik'): # used pickled func workdir = None func = pickle.load(open(funcname,'r')) else: # used tempfile for func workdir = sys.argv[4] sys.path = [workdir] + sys.path modname = os.path.splitext(os.path.basename(funcname))[0] module = __import__(modname) sys.path.pop(0) func = module.FUNC args,kwds = pickle.load(open(argfilename,'r')) if world.rank == 0: log.info('funcname: %s' % funcname) # sys.argv[1] log.info('argfilename: %s' % argfilename) # sys.argv[2] log.info('outfilename: %s' % outfilename) # sys.argv[3] log.info('workdir: %s' % workdir) # sys.argv[4] log.info('func: %s' % func) log.info('args: %s' % str(args)) log.info('kwds: %s' % str(kwds)) res = parallel_map(func, *args, **kwds) #XXX: called on ALL nodes ? if world.rank == 0: log.info('res: %s' % str(res)) pickle.dump(res, open(outfilename,'w')) # end of file
__doc__ = """ # print rank - hostname info # To run: alias mpython='mpiexec -np [#nodes] `which python`' mpython machines_raw.py """ def host(id): import socket return "Rank: %d -- %s" % (id, socket.gethostname()) if __name__ == '__main__': try: from pyina.mpi_scatter import parallel_map import pyina world = pyina.mpi.world hostnames = parallel_map(host, range(world.size)) if world.rank == 0: print('\n'.join(hostnames)) except: print(__doc__) # end of file