Türkçe English Rapor to Course Content
COURSE SYLLABUS
PARALLEL PROGRAMMING WITH GPU
1 Course Title: PARALLEL PROGRAMMING WITH GPU
2 Course Code: BM6030
3 Type of Course: Optional
4 Level of Course: Third Cycle
5 Year of Study: 1
6 Semester: 2
7 ECTS Credits Allocated: 6
8 Theoretical (hour/week): 3
9 Practice (hour/week) : 0
10 Laboratory (hour/week) : 0
11 Prerequisites: None
12 Recommended optional programme components: None
13 Language: Turkish
14 Mode of Delivery: Face to face
15 Course Coordinator: Prof. Dr. KEMAL FİDANBOYLU
16 Course Lecturers: -
17 Contactinformation of the Course Coordinator: e-posta: kfidan@uludag.edu.tr
Uludağ Üniversitesi, Bilgisayar Mühendisliği Bölümü
Görükle Kampüsü, 16059 Nilüfer, Bursa
18 Website:
19 Objective of the Course: In this course, the use of GPU in solving problems that require high performance will be explained. Studies on solving which types of problems with the GPU and which ones on the computer will be included. In this context, current issues in parallel and GPU computing, the basis of parallel algorithms, GPU programming model, parallel computing patterns, optimization and GPU application examples will be covered.
20 Contribution of the Course to Professional Development Engineering Science: 85%; Engineering Design: 15%
21 Learning Outcomes:
1 Define parallel programming with GPU;
2 Understand data parallel computing and scalable parallel execution methods;
3 Understand memory, data location, performance and numerical concepts in parallel programming;
4 Understand the concepts of convolution, prefix summation, histogram computation and sparse matrix computation in parallel models;
5 Understand CUDA dynamic parallelism;
6 Examine case studies in parallel programming;
22 Course Content:
Week Theoretical Practical
1 Introduction to parallel programming with GPU.
2 Data parallel computing.
3 Scalable parallel execution.
4 Memory and data locality.
5 Performance considerations.
6 Numerical considerations.
7 Parallel patterns: convolution: An introduction to stencil computation.
8 Parallel patterns: prefix sum: An introduction to work efficiency in parallel algorithms.
9 Parallel patterns—parallel histogram computation: An introduction to atomic operations and privatization.
10 Parallel patterns: sparse matrix computation: An introduction to data compression and regularization.
11 Parallel patterns: merge sort: An introduction to tiling with dynamic input data identification.
12 Parallel patterns: graph search.
13 CUDA dynamic parallelism.
14 Application case studies.
23 Textbooks, References and/or Other Materials: Textbook:
- David B. Kirk and Wen-mei W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, Morgan Kaufman, 2022.
Supplementary Textbooks:
- Wen-mei W. Hwu (Editor), GPU Computing Gems, Morgan Kaufman, 2011.
- H. Bidgoli, CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison Wesley, 2010.
- NVIDIA Developer Zone, http://developer.nvidia.com/page/home.html
24 Assesment
TERM LEARNING ACTIVITIES NUMBER PERCENT
Midterm Exam 1 20
Quiz 0 0
Homeworks, Performances 1 20
Final Exam 1 60
Total 3 100
Contribution of Term (Year) Learning Activities to Success Grade 40
Contribution of Final Exam to Success Grade 60
Total 100
Measurement and Evaluation Techniques Used in the Course Classical problem-solving ability will be measured in midterm and final exams. The project will include research, simulation, report writing and presentation on a subject related to the course content.
Information All exam and project evaluations will be made over 100. It will then be multiplied by the respective contribution percentage and the overall course grade will be obtained out of 100.
25 ECTS / WORK LOAD TABLE
Activites NUMBER TIME [Hour] Total WorkLoad [Hour]
Theoretical 14 3 42
Practicals/Labs 0 0 0
Self Study and Preparation 14 5 70
Homeworks, Performances 1 33 33
Projects 0 0 0
Field Studies 0 0 0
Midtermexams 1 15 15
Others 0 0 0
Final Exams 1 20 20
Total WorkLoad 180
Total workload/ 30 hr 6
ECTS Credit of the Course 6
26 CONTRIBUTION OF LEARNING OUTCOMES TO PROGRAMME QUALIFICATIONS
PQ1 PQ2 PQ3 PQ4 PQ5 PQ6
LO1 5 5 4 4 3 5
LO2 5 5 4 4 3 5
LO3 5 5 4 4 3 5
LO4 5 5 4 4 3 5
LO5 5 5 4 4 3 5
LO6 5 5 4 4 3 5
LO: Learning Objectives PQ: Program Qualifications
Contribution Level: 1 Very Low 2 Low 3 Medium 4 High 5 Very High
Bologna Communication
E-Mail : bologna@uludag.edu.tr
Design and Coding
Bilgi İşlem Daire Başkanlığı © 2015
otomasyon@uludag.edu.tr