Skip to content

Latest commit

 

History

History
117 lines (99 loc) · 4.94 KB

PE305-Multicore-Architecture-and-Programming.org

File metadata and controls

117 lines (99 loc) · 4.94 KB

<<<PE305>>> MULTICORE ARCHITECTURE AND PROGRAMMING

CO PO MAPPING

PO1PO2PO3PO4PO5PO6PO7PO8PO9PO10PO11PO12PSO1PSO2PSO3
K3K4K5K5K6-------K3K3K6
CO1K321
CO2K221
CO3K3322
CO4K3322
CO5K23222
Score13826
Course Mapping3222

{{{credits}}}

LTPC
3003

COURSE OBJECTIVES

  • To understand the need for multi-core processors, and their architecture
  • To understand the challenges in parallel and multi-threaded programming
  • To learn about the various parallel programming paradigms
  • To develop OpenMP programs and design parallel solutions
  • To develop an application using MPI programming.

{{{unit}}}

UNIT IMULTI-CORE PROCESSORS9

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}}}

UNIT IIPARALLEL PROGRAMMING9

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}}}

UNIT IIISHARED MEMORY PROGRAMMING WITH OPENMP9

OpenMP Execution Model: Memory model – OpenMP Directives – Work-Sharing Constructs – Library Functions – Handling Data and Functional Parallelism – Handling Loops – Performance Considerations.

{{{unit}}}

UNIT IVDISTRIBUTED MEMORY PROGRAMMING WITH MPI9

MPI program execution: MPI constructs – Libraries; MPI Send and Receive – Point-to-point and collective communication; MPI derived datatypes – Performance evaluation.

{{{unit}}}

UNIT VPARALLEL PROGRAM DEVELOPMENT9

Case studies: n-Body solvers; Tree Search – OpenMP and MPI implementations and comparison.

\hfill Total Periods: 45

COURSE OUTCOMES

After the completion of this course, students will be able to:

  • Understand the limitations of single core processors and the concepts behind the various multi-core architectures (K2)
  • Identify the issues in programming Parallel Processors (K2)
  • Develop the programs using OpenMP (K3)
  • Develop the program using MPI (K3)
  • Compare and contrast programming for serial processors and programming for parallel processors (K3).

TEXT BOOKS

  1. Peter S Pacheco, “An Introduction to Parallel Programming”, Morgan Kaufmann/Elsevier, 2011.
  2. Darryl Gove, “Multicore Application Programming for Windows, Linux, and Oracle Solaris”, Pearson, 2011.

REFERENCES

  1. Michael J Quinn, “Parallel programming in C with MPI and OpenMP”, Tata McGraw Hill, 2003.
  2. Victor Alessandrini, “Shared Memory Application Programming, Concepts and Strategies in Multicore Application Programming”, 1st Edition, Morgan Kaufmann, 2015.
  3. Yan Solihin, “Fundamentals of Parallel Multicore Architecture”, CRC Press, 2015.
  4. Rohit Chandra, Ramesh Menon, Leo Dagum, David Kohr, Dror Maydan and Jeff McDonald, “Parallel Programming in OpenMP”, 1st Edition, Morgan Kaufmann, 2000.
  5. Gerassimos Barlas, “Multicore and GPU Programming”, Morgan Kaufmann, 2014.