Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

Parallel ProgrammingSyllabus

Uploaded by

ankitupatil1
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Parallel ProgrammingSyllabus

Uploaded by

ankitupatil1
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

PARALLEL PROGRAMMING WITH CUDA

Course Code: AD72 Credits: 3:0:1


Pre – requisites: Nil Contact Hours: 42L
Course Coordinator: Dr.Vinay T R

Course Content
Unit I
A Short History of Supercomputing: Von Neumann Architecture, Cray, multinode computing, nvidia
and cuda, alternatives to cuda, types of parallelism.
 Pedagogy / Course delivery tools: Chalk and talk, Power Point Presentation, Videos.
 Links: https://onlinecourses.nptel.ac.in/noc20_cs92/preview

Unit II
GPUs History of GPU Computing: FLYNN’S TAXONOMY, SOME COMMON PARALLEL
PATTERNS, Reduced Instruction Set Computers, Multiple Core Processors, Vector Processors, Limits
to parallelizability, Amdahl’s law on Parallelism.
 Pedagogy/Course delivery tools: Chalk and talk, Power Point Presentation, Videos.
 Links: https://onlinecourses.nptel.ac.in/noc20_cs92/preview

Unit III
Introduction: GPUs as Parallel Computers, Architecture of a Model GPU, Why More Speed or
Parallelism? GPU Computing. Introduction to CUDA: Data Parallelism, CUDA Program Structure, A
Vector Addition Kernel , Device Global Memory And Data Transfer, Kernel Functions and Threading.
 Pedagogy/Course delivery tools: Chalk and talk, Power Point Presentation, Videos.
 Links: https://onlinecourses.nptel.ac.in/noc20_cs92/preview

Unit IV
CUDA Threads: CUDA Thread Organization, Mapping Threads To Multidimensional Data,
Synchronization and Transparent Scalability, Assigning Resources to Blocks, Thread Scheduling and
Latency Tolerance.
 Pedagogy/Course delivery tools: Chalk and talk, Power Point Presentation, Videos.
 Links: https://www.youtube.com/watch?v=xDtitNlLByQ

Unit V
Implementation of algorithms in CUDA: A Matrix-Matrix Multiplication, Program to implement
sorting using CUDA, Program to Histogram calculation using CUDA, Program to create threads using
default stream in CUDA, . CUDA for Deep Learning - A Case Study.
 Pedagogy/Course delivery tools: Chalk and talk, Power Point Presentation, Videos.
 Links: https://www.youtube.com/watch?v=IiKhXC6NFDg

Laboratory Session:
1. OpenMp parallel programs on using #pragma directive in C.
2. OpenMp parallel programs on using #pragma directive using work sharing constructs in C
14
3. OpenMp programs using sections like omp for and omp single.
4. OpenMp programs on parallel constructs.
5. OpenMp programs on task construct.
6. OpenMp programs using thread private directives.
7. OpenMp programs using thread private directives.
8. OpenMp programs on threads scheduling.
9. OpenMp programs using last private reduction, copying and shared.
10. Programs for Point to Point MPI calls.
11. Programs for Message passing MPI calls.
12. CUDA programs on message passing.
13. CUDA programs on broadcasting
14. Graph Processing with GPU
Suggested Learning Resources
Text Book:
1. Introduction to parallel computing by Ananth Grama, Pearson education Publishers, second
edition, 2003.
2. CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs, Shane Cook
Morgan Kaufmann, 2013, ISBN: 978-0-12-415933-4
Reference:
1. GPU parallel program development using CUDA by Tolga Soyata. CRC Press 2018.

Course Outcomes (COs):


At the end of the course, students will be able to:
1. Understand the technologies and architectures used for parallel computing. (PO-2,5 & PSO-1, 3)
2. Demonstrate an understanding of GPUs and their architecture. (PO-2,5 & PSO-1, 3)
3. Analyse the features of GPUs, their functionalities and CUDA Programming Structure (PO-2, 5 &
PSO-1, 3)
4. Understand the features of CUDA threads and scheduling. (PO-2,5 & PSO-1, 3).
5. Develop multi-threaded applications using CUDA (PO-2,5 & PSO-1, 3)
Course Assessment and Evaluation:
Continuous Internal Evaluation (CIE): 50 Marks
Assessment Tools Marks Course Outcomes (COs) addressed
Internal Test-I (CIE-I) 30 CO1, CO2, CO3
Internal Test-II CIE-II) 30 CO3, CO4, CO5
Average of the two CIE shall be taken for 30 marks
Other Components
Project based on CUDA. 20 CO1, CO2, CO3, CO4, CO5
The Final CIE out of 50 Marks = Average of two CIE tests for 30 Marks+
Marks scored in Quiz-I +Marks scored in Assignment
Semester End Examination (SEE)
Course End Examination (Answer One full
question from each Unit- Internal Choice) 100 CO1, CO2, CO3, CO4, CO5

15

You might also like