ECE 432:  Programming for Multi-Core Processors
Spring 2010, M,W,F 10-10:50 am


Course Introduction:

Multi-core processors have become the mainstream computing platforms; however, programs developed with a single thread (or a uniprocessor) in mind can only exploit one core. Thus, to fully harness the potential of multicore processors, we need to develop multithreaded programs, which is very challenging!

This course will introduces multi-core architecture, parallel programming models, task and data decomposition, thread synchronization, performance measurement and load balance. Hands-on labs and problem-based learning (PBL) teaching method will be used to help students make easy transition from single-threaded programming to multithreaded programming.

This is a computer engineering course, which is open for both senior and graduate students. Electrical engineering and computer science students who are interested in multicore programming are also welcomed to take this course.

Course Objectives:
 
To provide the students with the knowledge and design experience of a complete microcomputer system. More specifically to:
1. To familiarize students with multi-core architectures such as private and shared cache architecture, inter-core communication.
2. To familiarize students with the fundamentals of multithreaded programming, OpenMP, Pthread, task and data decomposition etc.
3. To train students with practical multi-core programming skills on real multicore processors.

Textbook:
1. Multi-Core Programming: Increasing Performance through Software Multithreading, by Shameem Akhter and Jason Roberts, Intel Press, 2006.

References (optional):

1. T. Mattson, B. Sanders and B. Massingill. Patterns for Parallel Programming, Addison Wesley, 2005.
2. B. Lewis and D. J. Berg. Multithreaded programming with Pthreads. Prentice Hall, 1998.

Instructor: Dr. Wei Zhang, E-114, zhang@engr.siu.edu

Office Hours:

M,W,F 9-10am (or by appointment)

Class Material


* Acknowledgement:

This course development and research has been funded in part by NSF CCLI award 0836615.
Note: Any opinions, findings and conclusions or recomendations expressed in this material are those
of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).