Esempio n. 1
0

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
Esempio n. 2
0
__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
Esempio n. 3
0

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
Esempio n. 4
0
    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
Esempio n. 5
0
    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
Esempio n. 6
0
__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