CSE 260 - Parallel Computation (Fall 2006)

Scott B. Baden, Professor

Section ID: 570324

Lecture: Tue/Thu 2:00p - 3:20p, CNTR 207

Course Description




Parallel computation has a rich and varied history, and the techniques for solving problems on high performance parallel computers are both intriguing and intellectually appealing. With the introduction of multi-core processors, parallel computation has become relevant outside the traditional application space of large scale computational science and engineering.

The course will cover principles and practices of parallel programming with applications to real world problems. There will be a fair bit of programming in the course, which will culminate in a mini research project. Our computational platform will be a 16 node Linux Cluster operated by Academic Computing Services. Resources will also be available at the San Diego Supercomputer Center.

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/fa06/cse260.

The course has one required text:

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

Be sure to get the 2nd edition.

A handy book on MPI is Parallel Programming with MPI, by P. Pacheco, Morgan Kaufmann Publishers, 1997. I recommend you purchase this book if you anticipate doing a lot of MPI programming in the future, or if you are more comfortable using a text than on-line materials. (See a list of MPI reading materials at http://www-cse.ucsd.edu/users/baden/Doc/mpi.html)



Syllabus

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

  • Maintained by . Last modified: Sep 15 18:16 PDT 2006