CSE 260 - Parallel Computation (Winter 2008)

Scott B. Baden, Professor

Section ID:

Lecture:

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 platforms will include a 16 node Linux Cluster operated by Academic Computing Services, various high performance computers located at the San Diego Supercomputer Center, and the CellBuzz STI Cell installaion at Georgia Institute of Technology.

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/wi08/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)
  • Data structures and their efficient implementation (multi-resolution representation, graphs, partitioning)
  • Multicore issues, including STI Cell
  • Performance Programming
  • Applications (sorting, data intensive, irregular problems, discretization, and others)

  • Maintained by baden @ ucsd.
    edu   [Thu Oct 18 19:47:08 PDT 2007]