Multi-processor architecture and programming (IIT, Kanpur)

After going thorough all the modules of the course, the learner should be able to

  1. Identify the need for multi-core architecture for specific applications by developing a suitable complexity measure.
  2. Identify needs for homogeneous or heterogeneous multi-core architectures for a given application
  3. Develop methods to partition a given application program to run on a multi-core processor
  4. Use the Intel multi-core architecture for develop high performance code
  5. Optimize code using appropriate techniques.

Module descriptions

Module 1: Introduction to multi-core architecture: Parallel computing and why it failed. Multi-processor architecture and its limitations. Need for multi-core architectures 4 one-hour lectures

Module 2: Multi-core architecture: Architecting with multi-cores. Homogenous and heterogeneous cores. Shared recourses, shared busses, and optimal resource sharing strategies. Performance evaluation of multi-core processors. Error management 12 one-hour lectures

Module 3: Intel Multi-core architecture: Detailed study of the architecture and programming of the Intel processors. 12 one-hour lectures

Module 4: Benchmarking multi-core architecture: Bench marking of processors. Comparison of processor performance for specific application domains. 4 one-hour lectures

Module 5: Code optimization: Need for code optimization. Tools for code optimization and optimization strategies 4 one-hour lectures The lab part will consist of 14 three-hour sessions and will include basic programming exercises and a miniproject.

There are downloads available under the Creative Commons License license. Download Now

Include in RSS: 

For more complete information about compiler optimizations, see our Optimization Notice.