CS 8803-MC, CS 4803-MC: Multicore Computing

Georgia Tech, Spring 2007

Tuesday/Thursday 1:35 PM - 2:55 PM, College of Computing Bldg., Room 102

Instructor: Dr. David A. Bader

Office: Klaus 1332
Office Hours: Tu/Th 3pm-4pm, or by appointment.

Textbook:

Optional programming books:

Class Mailing List:

Course Description:

Multicore Computing -- With commodity computing, embedded systems, and gaming engines switching to the use of multi-core processors (e.g. Intel Xeon, AMD Opteron, Sun T1, and IBM Cell), the design of explicit parallel algorithms to harness the available performance on real-world applications becomes a important tool. This course will introduce students to multi-core processor architectures, the design and analysis of algorithms and applications for multi-core chips, multicore programming methodologies, and measuring performance. Students will implement efficient programs on homogeneous and heterogeneous multi-core processors, such as the Cell processor used in the Sony PlayStation 3.
Prequisites: CS1332, Data structures and algorithms; CS2110, Computing organization and programming.

Course Information:

Lectures with slides:

Useful Links:

Additional Readings:

  1. From a Few Cores to Many: A Tera-scale Computing Research Overview (Intel White Paper)
  2. IBM Power 5
  3. Introduction to the Cell multiprocessor, by J. A. Kahle, M. N. Day, H. P. Hofstee, C. R. Johns, T. R. Maeurer, and D. Shippy, IBM Journal of Research and Development, 49(4/5):589-604, 2005.
  4. The Landscape of Parallel Computing Research: A View from Berkeley, Krste Asanovic, Ras Bodik, Bryan Christopher Catanzaro, Joseph James Gebis, Parry Husbands, Kurt Keutzer, David A. Patterson, William Lester Plishker, John Shalf, Samuel Webb Williams and Katherine A. Yelick, University of California, Berkeley, Technical Report No. UCB/EECS-2006-183, December 2006
  5. The RC5 Encryption Algorithm, Ron Rivest.