0% found this document useful (1 vote)
85 views3 pages

3.multicore Architecture and Programming

syllabus
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (1 vote)
85 views3 pages

3.multicore Architecture and Programming

syllabus
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 3

MCS1008 MULTICORE ARCHITECTURE AND PROGRAMMING L T PC

3 0 24
COURSE OBJECTIVES:
• To understand the need for multi-core processors, and their architecture.
• To understand the challenges in parallel and multithreaded programming.
• To learn about the various parallel programming paradigms,
• To develop multicore programs and design parallel solutions.

UNITI MULTI-COREPROCESSORS 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.

UNITII PARALLELPROGRAMCHALLENGES 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).

UNITIII 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.

UNITIV DISTRIBUTEDMEMORYPROGRAMMINGWITHMPI 9
MPI program execution – MPI constructs – libraries – MPI send and receive – Point-to-point and Collective
communication – MPI derived datatypes – Performance evaluation

UNITV PARALLELPROGRAMDEVELOPMENT 9
Case studies – n-Body solvers – Tree Search – OpenMP and MPI implementations and comparison.
TOTAL:45PERIODS
PRACTICALS:
1. Write a simple Program to demonstrate an Open MPFork-Join Parallelism.
2. Createaprogramthatcomputesasimplematrix-vectormultiplicationb=Ax, either in C/C++. Use
OpenMP directives to make it run in parallel.
3. CreateaprogramthatcomputesthesumofalltheelementsinanarrayA(C/C++) or a program that finds the
largest number in an array A. Use Open MP directive to make it run in parallel.
4. WriteasimpleProgramdemonstratingMessage-PassinglogicusingOpenMP.
5. Implement the All-Pairs Shortest-Path Problem (Floyd'sAlgorithm)Using OpenMP.
6. ImplementaprogramParallelRandomNumberGeneratorsusingMonteCarloMethods in OpenMP.
7. Write a Program to demonstrate MPI-broadcast-and-collective-communication in C.
8. Write a Program to demonstrate MPI-scatter-gather-and-all gather in C.
9. Write a Program to demonstrate MPI-send-and-receive in C.
10. WriteaProgramtodemonstratebyperforming-parallel-rank-with-MPIinC.
TOTAL:30PERIODS
TOTAL:45+30=75PERIODS
COURSEOUTCOMES:
At the end of the course, the students should be able to:
CO1: Describemulticorearchitecturesandidentifytheircharacteristicsandchallenges.
CO2: Identify the issues in programming Parallel Processors.
CO3: Write programs using Open MP and MPI.
CO4: Design parallel programming solutions to common problems.
CO5: Compareandcontrastprogrammingforserialprocessorsandprogrammingforparallel processors.
REFERENCES:
1. Peters. Pacheco, “An Introduction to Parallel Programming, Morgan-Kauffman/Elsevier, 2021.
2. Darryl Gove, “Multicore Application Programming for Windows, Linux, and Oracle Solaris,
Pearson, 2011 (unit 2)
3. Michael J Quinn, “Parallel programming in C with MPI and Open MP ,Tata McGraw Hill,2003.
4. Victor Alessandrini, Shared Memory Application Programming, 1st Edition, Concepts and Strategies
in Multicore Application Programming, Morgan Kaufmann, 2015.
5. YanSolihin, Fundamentals of Parallel Multicore Architecture, CRCPress,2015.

CO-PO Mapping
CO POs

PO1 PO2 PO3 PO4 PO5 PO6

1 1 2 3 4 5 6
2 1 1 1 2 1 2

3 2 1 - - 2 2

4 1 - 2 1 1 2

5 2 1 1 1 2 2

3 1 2 1 2 3

Avg 1.80 1.00 1.50 1.25 1.60 2.20

You might also like