CS6801 MULTI-CORE ARCHITECTURES AND PROGRAMMING syllabus-subject-notes-pevious-year-questions-papers-bank
OBJECTIVES:
The student should be made to:
Understand the challenges in parallel and multi-threaded programming.
Learn about the various parallel programming paradigms, and solutions.
UNIT I MULTI-CORE PROCESSORS 9
Single core to Multi-core architectures – SIMD and MIMD systems – Interconnection networks -
Symmetric and Distributed Shared Memory Architectures – Cache coherence - Performance Issues –
Parallel program design.
UNIT II PARALLEL PROGRAM CHALLENGES 9
Performance – Scalability – Synchronization and data sharing – Data races – Synchronization
primitives (mutexes, locks, semaphores, barriers) – deadlocks and livelocks – communication
between threads (condition variables, signals, message queues and pipes).
UNIT III SHARED MEMORY PROGRAMMING WITH OpenMP 9
OpenMP Execution Model – Memory Model – OpenMP Directives – Work-sharing Constructs - Library functions – Handling Data and Functional Parallelism – Handling Loops - Performance
Considerations.
UNIT IV DISTRIBUTED MEMORY PROGRAMMING WITH MPI 9
MPI program execution – MPI constructs – libraries – MPI send and receive – Point-to-point and
Collective communication – MPI derived datatypes – Performance evaluation
UNIT V PARALLEL PROGRAM DEVELOPMENT 9
Case studies - n-Body solvers – Tree Search – OpenMP and MPI implementations and comparison.
OUTCOMES:
At the end of the course, the student should be able to:
Program Parallel Processors.
Develop programs using OpenMP and MPI.
Compare and contrast programming for serial processors and programming for parallel processors.
TEXT BOOKS:
1. Peter S. Pacheco, “An Introduction to Parallel Programming”, Morgan-Kauffman/Elsevier, 2011.
2. Darryl Gove, “Multicore Application Programming for Windows, Linux, and Oracle Solaris”,
Pearson, 2011 (unit 2)
REFERENCES:
1. Michael J Quinn, “Parallel programming in C with MPI and OpenMP”, Tata McGraw Hill, 2003.
2. Shameem Akhter and Jason Roberts, “Multi-core Programming”, Intel Press, 2006.
OBJECTIVES:
The student should be made to:
Understand the challenges in parallel and multi-threaded programming.
Learn about the various parallel programming paradigms, and solutions.
UNIT I MULTI-CORE PROCESSORS 9
Single core to Multi-core architectures – SIMD and MIMD systems – Interconnection networks -
Symmetric and Distributed Shared Memory Architectures – Cache coherence - Performance Issues –
Parallel program design.
UNIT II PARALLEL PROGRAM CHALLENGES 9
Performance – Scalability – Synchronization and data sharing – Data races – Synchronization
primitives (mutexes, locks, semaphores, barriers) – deadlocks and livelocks – communication
between threads (condition variables, signals, message queues and pipes).
UNIT III SHARED MEMORY PROGRAMMING WITH OpenMP 9
OpenMP Execution Model – Memory Model – OpenMP Directives – Work-sharing Constructs - Library functions – Handling Data and Functional Parallelism – Handling Loops - Performance
Considerations.
UNIT IV DISTRIBUTED MEMORY PROGRAMMING WITH MPI 9
MPI program execution – MPI constructs – libraries – MPI send and receive – Point-to-point and
Collective communication – MPI derived datatypes – Performance evaluation
UNIT V PARALLEL PROGRAM DEVELOPMENT 9
Case studies - n-Body solvers – Tree Search – OpenMP and MPI implementations and comparison.
OUTCOMES:
At the end of the course, the student should be able to:
Program Parallel Processors.
Develop programs using OpenMP and MPI.
Compare and contrast programming for serial processors and programming for parallel processors.
TEXT BOOKS:
1. Peter S. Pacheco, “An Introduction to Parallel Programming”, Morgan-Kauffman/Elsevier, 2011.
2. Darryl Gove, “Multicore Application Programming for Windows, Linux, and Oracle Solaris”,
Pearson, 2011 (unit 2)
REFERENCES:
1. Michael J Quinn, “Parallel programming in C with MPI and OpenMP”, Tata McGraw Hill, 2003.
2. Shameem Akhter and Jason Roberts, “Multi-core Programming”, Intel Press, 2006.
No comments:
Post a Comment