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 on Graphical Programming Units (GPUs), computing clusters, and multicore processors, with applications to real world problems. There will be a fair bit of programming in the course. Our computational platforms will include cutting edge systems at the San Diego Supercomputer Center and a GPU clsuter at the National Center for Supercomputing Applications.
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/fa12/cse260
The course has two required texts
Other readings will come from the published literature.