Vous êtes sur la page 1sur 1

L T P C

Subject code : MULTI-CORE PROGRAMMING


3 0 0 3
Version No.: 1.0
Course Prerequisite CSE 507 Advanced Computer Architecture
Objective:
• To differentiate between a single processor and multi-core processor
• To perform multi-threading
• To vectorize for loops by analyzing data dependency
• To develop a parallel application
• To parallelize serial programs
• To analyze the performance using tools and debuggers
Expected Out Come:
At the end of course student should be able to
• Develop futuristic computing architectures
• Design software for parallel environments
• Analyze the performance of a program using profiling tools
Unit I INTRODUCTION TO PARALLELISM AND 8 hours
MULTICORE TECHNOLOGY
Introduction, Concurrency and Parallelism, Current and future many/multi-core architectures,
Software to Support Parallelism, Metrics
Unit II MULTITHREADING 8 hours
Synchronization & Communication, Spawning Threads, Parallel Histogram Computation,
Threading Building Blocks, TBB Parallel Algorithms, Task Based Approach, Concurrent
Containers
Unit III PARALLELISM 13 hours
Control Parallelism in OO Languages, Thread Safety in OO programs, atomicity, Locks vs. Atomic
classes, Explicitly Creating and Managing Threads, Refactoring for Parallelism, Refactoring
process, Refactorings for thread-safety, Refactorings for throughput, Refactorings for scalability
Unit IV VECTORIZATION 8 hours
OpenMP, Parallel regions, Worksharing Constructs, Data environment, Synchronization,
Vectorization, Data Dependences, Loop Vectorization, Vectorization-enabling loop
Transformations, SIMD Vectorization
Unit V CUDA PROGRAMMING MODEL 8 hours
Introduction to CUDA programming, CUDA Threads, CUDA Memory, Control Flow, CUDA
thread hardware and memory hardware, CUDA features and tools, CUDA examples
Text /References Books:
1. Shameem Akhter and Jason Roberts, Multi-Core Programming, Intel Press, 2006
2. Michael J Quin, “ Parallel programming in C with MPI and”, TataMcGraw Hill,2003
3. The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software.” Herb
Sutter. Dr. Dobb’s Journal, March 2005
4. Michael J Quin, “ Parallel Computing, Theory and practice”, TataMcGraw Hill,2002
5. David B. Kirk , Wen-mei W. Hwu, Programming Massively Parallel Processors: A Hands-
on Approach, Morgan Kaufmann, 2010
Mode of Evaluation By assignment, Seminar, Case Studies and CAT examinations

Proceedings of the 21st Academic Council of VIT [30.11.2010] 405

Vous aimerez peut-être aussi