start | find | index | login or register | edit
Freitag, 27. November 2009 link

Today, two sets of slides on parallelism definitely worth your time. First up, Guy Steele's "Organizing Functional Code for Parallel Execution", given at ICFP09:

"Don't split a problem into 'the first' and 'the rest.' Instead, split a problem into roughly equal pieces; recursively solve subproblems, then combine subsolutions."

And then, Guy Blelloch's "Parallel Thinking" from PPoPP09:

def interleave(xs, ys):
for x, y in zip(xs, ys):
yield x
yield y

def scan(f, xs):
if len(xs) < 2:
return [0]
sums = [f(xs[2*i], xs[2*i+1]) for i in range(len(xs)/2)]
evens = scan(f, sums)
odds = [f(evens[i], xs[2*i]) for i in range(len(xs)/2)]
return interleave(evens, odds)

# (transliterated from NESL into Python)

Quintessentially: think trees!


themel 3726 days ago:
Pool cleaners?

earl 3726 days ago:
Ah, the spam once again going strong. I cleaned the cleaners.

themel 3725 days ago:
So the spambots actually got YOUR account? I'm impressed.

earl 3725 days ago:
Nope, they just edited my posting. And from what I can tell, it's manual labour so far; i.e. no bots (yet).

themel 3724 days ago:
Oh wow, I had never realized users could do that. Yay collaborative editing :)

earl 3724 days ago:
Go for it! :)

Please log in (you may want to register first) to post comments!

powered by vanilla
echo earlZstrainYat|tr ZY @.
earl.strain.at • esa3 • online for 6926 days • c'est un vanilla site