We have 3 programming models, and you are asked to write and test two programs in each model: the Sieve of Eratosthenes, and an optimization code selected from Numerical Recipies (see links in class web page)
You will turn in:
- program code
- record of test results / multiple tests and timing of each program
- analysis of speedup, at minimum with different number of processes, possibly also testing what happens as you increase data size. (note that it is not unusual for parallel code on a small problem to run slower than a single process
- Modes are sufficiently different from each other that it may not be possible to get some algorithms running on all three variations. If you are unable to get something to work, turn in what you tried to do and comment on why you think it did not work
Compare message passing, shared memory and GPU programming, and state which you prefer and why.