CSE 260 - Parallel Computation (Fall 2009)

Course Description

Parallel computation has a rich history, and the techniques for solving problems on parallel computers are both intriguing and intellectually appealing. Technological disruption has periodically changed the course of the field, stimulating novel ways of solving problems, making tomorrow’s problems tractable today.

The course will cover principles and practices of parallel programming with applications to real world problems, including Graphical Processing Units (GPUs). There will be a fair bit of programming in the course, which will culminate in a research project. Our computational platforms will include cutting edge platforms such as the Lincoln system located at NCSA.

The prerequisite for CSE 260 is graduate standing. It will be helpful to have an undergraduate background in computer architecture or operating systems. Students from other departments are welcome; contact me if you have any questions about your academic background.

The home page for this course is http://www.cse.ucsd.edu/classes/fa09/cse260/

The course has one required text (be sure to get the 2nd edition):

   Introduction to Parallel Computing 2nd Ed, by Grama, Gupta, Karypis, and Kumar.
   ISBN 0-201-64865-2, Addison-Wesley Publisher, 2003.

Other readings will come from the published literature.

Web page from prior offering of CSE 260 (Fall 2008).

Syllabus

  • Fundamentals (motivation, execution models, address space organization, performance)
  • Programming (message passing, threads, higher level models)
  • Data structures and their efficient implementation (multi-resolution representation, graphs, partitioning)
  • Graphical Processing Units
  • Performance Programming
  • Applications (sorting, data intensive, irregular problems, discretization, and others)

  • Maintained by baden @ ucsd.
    edu   [Tue Sep 23 08:55:54 PDT 2009]