htw saar Piktogramm QR-encoded URL
Back to Main Page Choose Module Version:
emphasize objectives XML-Code

flag

Introduction to Parallel Programming with CUDA

Module name (EN):
Name of module in study programme. It should be precise and clear.
Introduction to Parallel Programming with CUDA
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Computer Science and Communication Systems, Bachelor, ASPO 01.10.2014
Module code: KI593
SAP-Submodule-No.:
The exam administration creates a SAP-Submodule-No for every exam type in every module. The SAP-Submodule-No is equal for the same module in different study programs.
P222-0074
Hours per semester week / Teaching method:
The count of hours per week is a combination of lecture (V for German Vorlesung), exercise (U for Übung), practice (P) oder project (PA). For example a course of the form 2V+2U has 2 hours of lecture and 2 hours of exercise per week.
1V+1P (2 hours per week)
ECTS credits:
European Credit Transfer System. Points for successful completion of a course. Each ECTS point represents a workload of 30 hours.
3
Semester: 5
Mandatory course: no
Language of instruction:
German
Assessment:
Project work, presentation and composition

[updated 24.02.2018]
Applicability / Curricular relevance:
All study programs (with year of the version of study regulations) containing the course.

DFBI-342 Computer Science and Web Engineering, Bachelor, ASPO 01.10.2018 , semester 6, optional course, informatics specific
KI593 (P222-0074) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2014 , semester 5, optional course, technical
KIB-CUDA (P222-0074) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2021 , semester 5, optional course, technical
KIB-CUDA (P222-0074) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2022 , semester 5, optional course, technical
PIBWI39 (P222-0074) Applied Informatics, Bachelor, ASPO 01.10.2011 , semester 5, optional course, informatics specific
PIB-CUDA Applied Informatics, Bachelor, ASPO 01.10.2017 , semester 5, optional course, informatics specific
Workload:
Workload of student for successfully completing the course. Each ECTS credit represents 30 working hours. These are the combined effort of face-to-face time, post-processing the subject of the lecture, exercises and preparation for the exam.

The total workload is distributed on the semester (01.04.-30.09. during the summer term, 01.10.-31.03. during the winter term).
30 class hours (= 22.5 clock hours) over a 15-week period.
The total student study time is 90 hours (equivalent to 3 ECTS credits).
There are therefore 67.5 hours available for class preparation and follow-up work and exam preparation.
Recommended prerequisites (modules):
KI100 Programming 1
KI110 Informatics 1
KI400 Software Engineering 2
KI420 Operating Systems
KI430 System Management and Security


[updated 18.10.2013]
Recommended as prerequisite for:
Module coordinator:
Dipl.-Inform. Marion Bohr
Lecturer: Dipl.-Inform. Marion Bohr

[updated 13.09.2012]
Lab:
IT-security lab (5103/2)
Learning outcomes:
CUDA (Compute Unified Device Architecture) is a technology developed by NVIDIA that allows software developers and software engineers to use a CUDA-enabled graphics processing unit for general purpose processing.
 
After successfully completing this module, students will have received insight into problem solving by means of parallel programming. They will understand the algorithmic basics of parallel programming. Students will be capable of using hardware and software components based on CUDA and demonstrate their use by carrying out clearly defined practical exercises. They will be able to leverage the strengths of a GPU architecture in practice-oriented project work, optimize its performance and analyze the resource requirements of a parallel implementation.

[updated 26.02.2018]
Module content:
* Basics: processes, threads, blocks, warps, memory types, etc.
* Algorithmic basics
* Examples of algorithms and implementations for programs that can and cannot be parallelized
* Runtime measurement, runtime comparison, possibilities for increasing performance
* GPU applications from different subject areas using the example of CUDA


[updated 26.02.2018]
Teaching methods/Media:
Presentation slides, board, exercises

[updated 26.02.2018]
Recommended or required reading:
* The CUDA Handbook: A Comprehensive Guide to GPU Programming, Nicholas Wilt, Addison-Wesley 2013
* CUDA by Example _ An Introduction to General-Purpose GPU Programming, Jason Sanders/ Edward Kandrot, Addison-Wesley 2011
* Programming Massively Parallel Processors _ A Hands-on Approach, David B. Kirk/ Wen-mei W. Hwu, Elsevier-Morgan Kaufmann Publishers 2010


[updated 26.02.2018]
Module offered in:
WS 2017/18, WS 2016/17, WS 2015/16, WS 2014/15, WS 2013/14, ...
[Fri Jun 14 10:39:26 CEST 2024, CKEY=keidppm, BKEY=ki, CID=KI593, LANGUAGE=en, DATE=14.06.2024]