homomorphism-based skeletal parallel programming

38

Upload: emoken34

Post on 07-Aug-2015

1.923 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Homomorphism-based Skeletal Parallel Programming
Page 2: Homomorphism-based Skeletal Parallel Programming
Page 3: Homomorphism-based Skeletal Parallel Programming
Page 4: Homomorphism-based Skeletal Parallel Programming
Page 5: Homomorphism-based Skeletal Parallel Programming
Page 6: Homomorphism-based Skeletal Parallel Programming
Page 7: Homomorphism-based Skeletal Parallel Programming
Page 8: Homomorphism-based Skeletal Parallel Programming
Page 9: Homomorphism-based Skeletal Parallel Programming
Page 10: Homomorphism-based Skeletal Parallel Programming
Page 11: Homomorphism-based Skeletal Parallel Programming
Page 12: Homomorphism-based Skeletal Parallel Programming
Page 13: Homomorphism-based Skeletal Parallel Programming
Page 14: Homomorphism-based Skeletal Parallel Programming
Page 15: Homomorphism-based Skeletal Parallel Programming
Page 16: Homomorphism-based Skeletal Parallel Programming
Page 17: Homomorphism-based Skeletal Parallel Programming
Page 18: Homomorphism-based Skeletal Parallel Programming
Page 19: Homomorphism-based Skeletal Parallel Programming
Page 20: Homomorphism-based Skeletal Parallel Programming
Page 21: Homomorphism-based Skeletal Parallel Programming
Page 22: Homomorphism-based Skeletal Parallel Programming
Page 23: Homomorphism-based Skeletal Parallel Programming
Page 24: Homomorphism-based Skeletal Parallel Programming
Page 25: Homomorphism-based Skeletal Parallel Programming
Page 26: Homomorphism-based Skeletal Parallel Programming
Page 27: Homomorphism-based Skeletal Parallel Programming
Page 28: Homomorphism-based Skeletal Parallel Programming
Page 29: Homomorphism-based Skeletal Parallel Programming
Page 30: Homomorphism-based Skeletal Parallel Programming
Page 31: Homomorphism-based Skeletal Parallel Programming

auto ps = generate(n, randpair); auto rs = map([](pair p){return p.x*p.x+p.y*p.y},ps); auto ios = map([](double r2){return r2 <= 1;}, rs); double pi = reduce(std::plus<double>(), ios) /size*4;

Page 32: Homomorphism-based Skeletal Parallel Programming

0

10

20

30

40

50

60

70

1 2 3 4 5 6 7 8

#processor

Exe

cution

Tim

e (s

)

naïve parallelsequentialoptimized parallel

On a workstation with two Intel®Xeon® X5550 (8 cores in total,

without hyper-threading), 12GB memory, and Linux 2.6.31.

Page 33: Homomorphism-based Skeletal Parallel Programming
Page 34: Homomorphism-based Skeletal Parallel Programming
Page 35: Homomorphism-based Skeletal Parallel Programming
Page 36: Homomorphism-based Skeletal Parallel Programming
Page 37: Homomorphism-based Skeletal Parallel Programming
Page 38: Homomorphism-based Skeletal Parallel Programming