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 the principles and practices of parallel programming on Graphical Programming Units (GPUs), multicore processors and computing clusters, with applications to real world problems. There will be a fair bit of programming. Our computational platforms will include cutting edge systems located in the CSE and Math Departments at UCSD and at the National Energy Research Scientific Computing Center (NERSC).
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-b
The course has two required texts
Other readings will come from the published literature.