It is your responsibility to manage your time so that you can turn in your assignments when they are due. No late homework will be accepted.
If you have questions about grading of homework, talk to the t.a. first. If you are unable to reach an agreement, make an appointment to talk to me. The statute of limitations for regrades is one week -- that is, any requests for regrades must be made no later than one week after the homework (or exam) was returned in class.
The projects are intentionally left open-ended so that you can explore. I encourage you to discuss your plans with me, in office hours or by email, as you decide what to do. The project proposal is your chance to get feedback before you get too far down the road, so please make the proposal as complete as possible. If we see problems with your plans, or if your proposal is too vague, we will ask you to redo the proposal until we're comfortable with it.
If you have a parallel computing project of your own that you would like to work on instead of doing one of these three problems, please talk to me about it. It's fine to do a different project provided it has the right level of parallel-implementation difficulty, and provided you write a thorough proposal describing it.
I strongly prefer that you do the term project in teams of two. If you want to make other arrangements, you must talk to me first. I will expect the graduate students in the course to propose somewhat more ambitious projects than the undergraduates. It is okay for a grad student and an undergrad to work together on a team.
Mon Jan 3: Introduction.
bone density modeling]
Reading: Textbook sections 1.1, 1.2, 1.3 (overview of parallel computers).
(Homework 1 assigned)
Mon Jan 10: SDSC orientation, accounts, and performance
analysis tools (Stefan Boeriu, guest lecturer).
[Stefan's web page]
(Homework 1 due, Homework 2 assigned)
Wed Jan 12: Matrix-vector multiplication,
data layout, parallel complexity measures.
[slides on complexity notation]
Reading: Textbook sections 2.3, 2.4, 2.5 (analyzing and debugging parallel programs), and sections 3.1 and 3.2.3 (Monte Carlo methods).
Mon Jan 17: (Martin Luther King holiday, no class)
Mon Jan 24: Models of communication cost for matrix multiplication. [same slides as last time]
Wed Jan 26: Data locality and cache issues; scientific libraries. [same slides as last time]
Mon Jan 31:
Multicore, shared memory, and Cilk.
(Homework 3 due, Homework 4 assigned)
Wed Feb 2: Midterm 1.
Mon Feb 7:
More Cilk: Sorting, divide-and-conquer algorithms and recurrences.
(Homework 4 due, Homework 5 assigned)
Wed Feb 9: More Cilk: Matrix algorithms. [slides]
Mon Feb 14: Final projects;
spatially local computations: game of Life, temperature problem;
stencil computations and Jacobi relaxation.
Reading: Final project requirements (above on this page); Textbook sections 6.1 - 6.3 (synchronous iteration).
Wed Feb 16: Stencils, meshes, and sparse matrices. [slides]
(Homework 5 due Fri Feb 18)
Mon Feb 21: (Presidents' Day holiday, no class.)
Wed Feb 23:
Matrices and graphs;
conjugate gradients, matrix-vector multiplication.
[same slides as last time]
Reading: Graph analysis with high-performance computing (Hendrickson and Berry).
(Final project teams and proposals due)
Mon Feb 28: Graph partitioning; non-mesh graphs from social networks, etc. [updated slides from last time]
Mon Mar 7: Midterm 2.
Wed Mar 9:
(Final project progress reports due)
Thu Mar 17: Final project demos in CSIL, 8:00-11:00 am. [schedule]
(Final project reports due 11:59pm Fri Mar 18)