0% found this document useful (0 votes)
47 views

CE5015 - GPU Programming

The document outlines a syllabus for a GPU Programming course. It details course objectives, outcomes, topics, and assignments. Students will learn parallel programming concepts and apply them to problems using shared memory and CUDA programming.

Uploaded by

Harsh Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

CE5015 - GPU Programming

The document outlines a syllabus for a GPU Programming course. It details course objectives, outcomes, topics, and assignments. Students will learn parallel programming concepts and apply them to problems using shared memory and CUDA programming.

Uploaded by

Harsh Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Uka Tarsadia University

B. Tech.
Semester V

GPU PROGRAMMING

CE5015

EFFECTIVE FROM July-2022


Syllabus version: 1.00
Teaching Scheme
Subject
Subject Title Hours Credits
Code
Theory Practical Theory Practical
CE5015 GPU Programming 0 2 0 1

Theory Practical
Subject Examination Examination Total
Subject Title
Code Marks Marks Marks
Internal External CIE
CE5015 GPU Programming - - 50 50

Objectives of the course:


● To provide basic knowledge of parallel programming architectures and programming
models.
● To explore concepts of parallel programming for shared address space and for
distributed computing.
● To introduce basic CUDA programming skills for parallel data processing.

Course outcomes:
Upon completion of the course, the student shall be able to
CO1: Understand the parallel programming using shared address space platforms such as
‘OpenMP’ and ‘Pthread’ programming models.
CO2: Apply concepts of message passing API for distributed computing.
CO3: Unfold the basic CUDA programming skills for parallel data processing.

Sr. No. GPU Programming (Practical) Hours


1 Introduction to parallel processing programming: 1
1. Write a program to create child & parent processes and print its
processID.
2. Write a program which prints “Hello World!” using the OpenMP
parallel processing environment.
2 Write a program to which does following: 1
Shared Memory Programming – I
1. Write a program to perform sum of 10 numbers using two
processes using fork system call without and with implementing
join function.
2. Write a program to perform sum of 10 numbers using non
iterative work sharing construct.
3 Write a program to which does following: 2
Shared Memory Programming – II
1. Write a program which performs Matrix Multiplication using
fork system call.
2. Write a program which computes a matrix multiplication C=A*B
using work-sharing construct for with schedule clause.
4 Write a program which assign different array operations to each 2
thread using non-iterative work sharing construct.
5 Write a program which displays the prime numbers between 1 2
and N, using iterative work sharing construct.
6 Write a program to implement bubble sort algorithm for parallel 2
execution.
7 Write a program to implement quick sort algorithm for parallel 2
execution.
8 Write a program to implement multiple threads print “Hello 2
world”.
9 Write a program to deter to determine the current thread. 2
10 Write a program to use a thread in a subclass. 2
11 Write programs for threads synchronization using Lock, RLock 2
and semaphore operations.
12 Write programs to evaluating the performance of multithread 2
applications
13 Write programs to create processes, name processes, kill the 2
processes.
14 Write programs to exchange objects between processes. 2
15 Write programs using the mpi4py python module to implement 2
Point-to-point communication and Collective communication
between processes
16 Write GPU program using NumbaPro and GPU-accelerated 2
libraries with NumbaPro.

Reference books:
1. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar–“Introduction to parallel
computing” -Pearson Publication, 2nd Edition.
2. Giancarlo Zaccone - "Python Parallel Programming Cookbook", Packt Publication.
3. Dr. Brian Tuomanen - "Hands-On GPU Programming with Python and CUDA ", Packt
Publication.

Course objectives and Course outcomes mapping:


• To provide basic knowledge of parallel programming architectures and programming
models: CO1
• To explore concepts of parallel programming for shared address space and for
distributed computing: CO2
• To introduce basic CUDA programming skills for parallel data processing: CO3
Programme outcomes:
PO 1: Engineering knowledge: An ability to apply knowledge of mathematics,
science, and engineering.
PO 2: Problem analysis: An ability to identify, formulates, and solves engineering
problems.
PO 3: Design/development of solutions: An ability to design a system, component, or
process to meet desired needs within realistic constraints.
PO 4: Conduct investigations of complex problems: An ability to use the techniques,
skills, and modern engineering tools necessary for solving engineering
problems.
PO 5: Modern tool usage: The broad education and understanding of new
engineering techniques necessary to solve engineering problems.
PO 6: The engineer and society: Achieve professional success with an understanding
and appreciation of ethical behaviour, social responsibility, and diversity, both
as individuals and in team environments.
PO 7: Environment and sustainability: Articulate a comprehensive world view that
integrates diverse approaches to sustainability.
PO 8: Ethics: Identify and demonstrate knowledge of ethical values in non-classroom
activities, such as service learning, internships, and field work.
PO 9: Individual and team work: An ability to function effectively as an individual,
and as a member or leader in diverse teams, and in multidisciplinary settings.
PO 10: Communication: Communicate effectively on complex engineering activities
with the engineering community and with society at large, such as, being able
to comprehend and write effective reports and design documentation, make
effective presentations, and give/receive clear instructions.
PO 11: Project management and finance: An ability to demonstrate knowledge and
understanding of the engineering and management principles and apply these
to one’s own work, as a member and leader in a team, to manage projects and
in multidisciplinary environments.
PO 12: Life-long learning: A recognition of the need for, and an ability to engage in life-
long learning.

Programme outcomes and Course outcomes mapping:

Programme Course Outcomes


Outcomes CO1 CO2 CO3
PO1 ✓ ✓ ✓
PO2 ✓ ✓ ✓
PO3 ✓ ✓ ✓
PO4 ✓ ✓ ✓
PO5 ✓ ✓ ✓
PO6
PO7
PO8
PO9 ✓ ✓ ✓
PO10
PO11
PO12

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy