Example #1
0
m = T.shape[0]
percentiles = list(arange(0.5, 100.0, 0.5))
seed(0)
seeds = random_integers(0, 2 ** 31 - 2, size=EX_NUM)

for tr in trends:
    results = zeros((len(percentiles), len(T), EX_NUM)) * nan
    filename = 'adf_z_' + tr + '.npz'

    for i in range(EX_NUM):
        print("Experiment Number {0} for Trend {1}".format(i + 1, tr))
        # Non parallel version
        # out = lmap(wrapper, T, [tr] * m, [EX_SIZE] * m, [seeds[i]] * m))
        now = datetime.datetime.now()
        out = lview.map_sync(wrapper,
                             T,
                             [tr] * m, [EX_SIZE] * m,
                             [seeds[i]] * m)
        # Prevent unnecessary results from accumulating
        lview.purge_results('all')
        rc.purge_everything()
        print(datetime.datetime.now() - now)
        quantiles = lmap(lambda x: percentile(x, percentiles), out)
        results[:, :, i] = array(quantiles).T

        if i % 50 == 0:
            savez(filename, trend=tr, results=results,
                  percentiles=percentiles, T=T)

    savez(filename, trend=tr, results=results, percentiles=percentiles, T=T)
     180, 200, 250, 300, 350, 400, 450, 500, 600, 700, 800, 900,
     1000, 1200, 1400, 2000))
T = T[::-1]
m = T.shape[0]
percentiles = list(arange(0.5, 100.0, 0.5))
seed(0)
seeds = random_integers(0,2**31-2,size=EX_NUM)

for tr in trends:
    results = zeros((len(percentiles), len(T), EX_NUM)) * nan
    filename = 'adf_z_' + tr + '.npz'

    for i in range(EX_NUM):
        print("Experiment Number {0} for Trend {1}".format(i + 1, tr))
        # Non parallel version
        # out = lmap(wrapper, T, [tr] * m, [EX_SIZE] * m, [seeds[i]] * m))
        now = datetime.datetime.now()
        out = lview.map_sync(wrapper, T, [tr] * m, [EX_SIZE] * m, [seeds[i]] * m)
        # Prevent unnecessary results from accumulating
        lview.purge_results('all')
        rc.purge_everything()
        print(datetime.datetime.now() - now)
        q = lambda x: percentile(x, percentiles)
        quantiles = lmap(q, out)
        results[:, :, i] = array(quantiles).T

        if i % 50 == 0:
            savez(filename, trend=tr, results=results,
                  percentiles=percentiles, T=T)

    savez(filename, trend=tr, results=results, percentiles=percentiles, T=T)
import sys
from IPython.parallel import Client, interactive

from util import timer

client = Client()
view = client[:]
view.execute('import numpy')


@interactive  # this runs on the engins
def calc_pi_on_engines(n):
    x = numpy.random.rand(n)
    y = numpy.random.rand(n)
    r = numpy.hypot(x, y)
    return 4. * (r < 1.).sum() / n


@timer
def calc_pi(n):
    """Estimate pi using IPython.parallel."""
    n_engines = n/len(view)
    results = view.apply_sync(calc_pi_on_engines, n_engines)
    return float(sum(results))/len(results)

if __name__ == "__main__":
    N = int(sys.argv[1])
    result, time = calc_pi(N)
    print('time  : %3.4g\nresult: %.7f' % (time, result))
    client.purge_everything()