SIAM Journal on
Scientific Computing
, and read more about your topic. (It is not
sufficient to read just the paper you studied for your paper
presentation.) You should email me the list of papers you will study,
by 31 Oct.
Your major goal in the project is to critically analyze a few papers (on the same topic). You will first understand the issues they address. You should then implement their techniques efficiently, and study the performance, including that of competitive alternatives. You will write a report describing the work done in the papers you read, and practical applications of the work. You should then give the results of experiments with your implementations of these algorithms. You may be able to theoretically explain your result too. You should finally summarize the advantages and disadvantages of the techniques you studied. The report should also contain a bibliography of papers to which you referred.
You should give me a hardcopy of the report, and a tar file for the code, by 3 pm, 30 Nov 2001. I may ask you to make some revisions, which should be submitted by 7 Dec. You will also give a presentation in class and a demonstration in my office, where you will also be asked further questions on your work. Further details on the project will be given in class.
2. Parallel linear solver -- direct or iterative.
3. Parallel eigenvalue solver.
4. Monte Carlo techniques to solve linear systems or find eigenvalues, in a parallel environment.
5. Parallel QR factorization or linear least squares.
6. Parallel benchmarks.
7. High performance Java.
8. Domain decomposition/graph partitioning.
9. Dynamic load balancing.
10. MPI2.
11. New parallel programming models.
12. Parallel sorting or selection.
13. Parallel languages.
2. http://www.cs.berkeley.edu/~demmel/cs267/
3. http://www.cs.ucsb.edu/~schauser
The ideal project will discuss a recent algorithm that is a significant improvement on the existing ones for an important class of applications. Your implementation will be better than that done in the paper. Your theoretical analysis will point out disadvantages not mentioned in the paper, and your experimental results will confirm this. Similarly, your comparisons with other algorithms will reveal relative advantages and disadvantages that were not reported by others.