Exemple #1
0
def test2(obj):
    from pathos.pp import ParallelPythonPool

    p = ParallelPythonPool(2)
    x = [1, 2, 3]
    assert map(obj, x) == p.map(obj, x)
Exemple #2
0
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 1997-2014 California Institute of Technology.
# License: 3-clause BSD.  The full license text is available at:
#  - http://trac.mystic.cacr.caltech.edu/project/pathos/browser/pathos/LICENSE

from pathos.pp import stats
from pathos.pp import ParallelPythonPool as Pool
pool = Pool()

def host(id):
    import socket
    import time
    time.sleep(1.0)
    return "Rank: %d -- %s" % (id, socket.gethostname())


print "Evaluate 10 items on 2 cpus" #FIXME: reset lport below
pool.ncpus = 2
pool.servers = ('localhost:5653',)
res5 = pool.map(host, range(10))
print pool
print '\n'.join(res5)
print stats()
print ''

# end of file
Exemple #3
0
    _d = [delay]*len(_x)

    from pathos.python import PythonSerial as PS
    basic = PS()
    print basic
    start = time.time()
    res = basic.map(busy_add, _x, _y, _d)
    print "time to queue:", time.time() - start
    start = time.time()
    _basic = list(res)
    print "time to results:", time.time() - start
    print ""

    from pathos.pp import ParallelPythonPool as PPP
    #from pathos.pp import stats
    pp_pool = PPP(4, servers=('localhost:5653','localhost:2414'))
    print pp_pool
    start = time.time()
    res = pp_pool.map(busy_add, _x, _y, _d)
    print "time to queue:", time.time() - start
    start = time.time()
    _pp_pool = list(res)
    print "time to results:", time.time() - start
    #print stats()

    assert _basic == _pp_pool
    print ""

    from pathos.multiprocessing import ProcessingPool as MPP
    mp_pool = MPP(4)
    print mp_pool
Exemple #4
0
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 1997-2014 California Institute of Technology.
# License: 3-clause BSD.  The full license text is available at:
#  - http://trac.mystic.cacr.caltech.edu/project/pathos/browser/pathos/LICENSE

from pathos.pp import stats
from pathos.pp import ParallelPythonPool as Pool

pool = Pool()


def host(id):
    import socket
    import time
    time.sleep(1.0)
    return "Rank: %d -- %s" % (id, socket.gethostname())


print "Evaluate 10 items on 2 cpus"  #FIXME: reset lport below
pool.ncpus = 2
pool.servers = ('localhost:5653', )
res5 = pool.map(host, range(10))
print pool
print '\n'.join(res5)
print stats()
print ''

# end of file
Exemple #5
0
#!/usr/bin/env python

from pathos.pp import stats
from pathos.pp import ParallelPythonPool as Pool
pool = Pool()

def host(id):
    import socket
    return "Rank: %d -- %s" % (id, socket.gethostname())


print "Evaluate 10 items on 1 cpu"
pool.ncpus = 1
res3 = pool.map(host, range(10))
print pool
print '\n'.join(res3)
print stats()

print "Evaluate 10 items on 2 cpus"
pool.ncpus = 2
res5 = pool.map(host, range(10)) 
print pool
print '\n'.join(res5)
print stats()

# end of file
Exemple #6
0
def test_ppmap(obj):
    from pathos.pp import ParallelPythonPool
    p = ParallelPythonPool(2)
    x = [1, 2, 3]
    assert map(obj, x) == p.map(obj, x)
Exemple #7
0
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 1997-2014 California Institute of Technology.
# License: 3-clause BSD.  The full license text is available at:
#  - http://trac.mystic.cacr.caltech.edu/project/pathos/browser/pathos/LICENSE
"""
example of using the 'raw' distributed parallel mapper

To run: python pp_map.py
"""

from pathos.pp import ParallelPythonPool as Pool
pool = Pool()

if __name__ == '__main__':

    def add(x, y, z):
        """Add three values"""
        return x + y + z

    def busybeaver(x):
        """This can take a while"""
        for num in range(1000000):
            x = x + num
        return x

    # Immediate evaluation example
    import time
    start = time.time()
    results = pool.map(busybeaver, range(10))
Exemple #8
0
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 1997-2014 California Institute of Technology.
# License: 3-clause BSD.  The full license text is available at:
#  - http://trac.mystic.cacr.caltech.edu/project/pathos/browser/pathos/LICENSE

from pathos.pp import stats
from pathos.pp import ParallelPythonPool as Pool
pool = Pool()


def host(id):
    import socket
    return "Rank: %d -- %s" % (id, socket.gethostname())


print "Evaluate 10 items on 1 cpu"
pool.ncpus = 1
res3 = pool.map(host, range(10))
print pool
print '\n'.join(res3)
print stats()

print "Evaluate 10 items on 2 cpus"
pool.ncpus = 2
res5 = pool.map(host, range(10))
print pool
print '\n'.join(res5)
print stats()
Exemple #9
0
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 1997-2014 California Institute of Technology.
# License: 3-clause BSD.  The full license text is available at:
#  - http://trac.mystic.cacr.caltech.edu/project/pathos/browser/pathos/LICENSE
"""
example of using the 'raw' distributed parallel mapper

To run: python pp_map.py
"""

from pathos.pp import ParallelPythonPool as Pool
pool = Pool()


if __name__ == '__main__':
    def add(x, y, z):
        """Add three values"""
        return x + y + z

    def busybeaver(x):
        """This can take a while"""
        for num in range(1000000):
            x = x + num
        return x

    # Immediate evaluation example
    import time
    start = time.time()
    results = pool.map(busybeaver, range(10))
Exemple #10
0
    from numpy import sin
    return sin(x - xp)


# print the input to screen
x = np.arange(N * nodes, dtype=np.float64)
xp = np.arange(N * nodes, dtype=np.float64)[::-1]
print("Input: %s\n" % x)

# map sin_diff to the workers, then print to screen
print("Running serial python ...")
y = map(sin_diff, x, xp)
print("Output: %s\n" % np.asarray(y))

# map sin_diff to the workers, then print to screen
print("Running mpi4py on %d cores..." % nodes)
y = MpiPool(nodes).map(sin_diff, x, xp)
print("Output: %s\n" % np.asarray(y))

# map sin_diff to the workers, then print to screen
print("Running multiprocesing on %d processors..." % nodes)
y = ProcessingPool(nodes).map(sin_diff, x, xp)
print("Output: %s\n" % np.asarray(y))

# map sin_diff to the workers, then print to screen
print("Running parallelpython on %d cpus..." % nodes)
y = ParallelPythonPool(nodes).map(sin_diff, x, xp)
print("Output: %s\n" % np.asarray(y))

# EOF
Exemple #11
0
    """sin squared of all data"""
    import numpy as np
    return np.sin(xi)**2


# print the input to screen
x = np.arange(N * nodes, dtype=np.float64)
print("Input: %s\n" % x)

# run sin2 in series, then print to screen
print("Running serial python ...")
y = map(sin2, x)
print("Output: %s\n" % np.asarray(y))

# map sin2 to the workers, then print to screen
print("Running mpi4py on %d cores..." % nodes)
y = MpiPool(nodes).map(sin2, x)
print("Output: %s\n" % np.asarray(y))

# map sin2 to the workers, then print to screen
print("Running multiprocesing on %d processors..." % nodes)
y = ProcessingPool(nodes).map(sin2, x)
print("Output: %s\n" % np.asarray(y))

# map sin2 to the workers, then print to screen
print("Running parallelpython on %d cpus..." % nodes)
y = ParallelPythonPool(nodes).map(sin2, x)
print("Output: %s\n" % np.asarray(y))

# EOF