Welcome, Guest . Login . Türkçe
Where Am I: Ninova / Courses / Institute of Science and Technology / BLG 562E / Course Informations
 

Course Information

Course Name
Turkish CUDA ile GPU’lar ic¸in Paralel Hesaplama
English Paral.Comp.for GPUs Using CUDA
Course Code
BLG 562E Credit Lecture
(hour/week)
Recitation
(hour/week)
Laboratory
(hour/week)
Semester -
3 3 - -
Course Language English
Course Coordinator Ayşe Yılmazer Metin
Course Objectives Understanding the CUDA programming model and GPU micro-architecture.
Studying and understanding the performance of CUDA programs and learning to develop efficient parallel programs using CUDA.
Course Description History of GPUs. Principles of parallel algorithm design. CUDA programming model. GPU micro- architecture. Occupancy, GPU performance and performance analysis and debugging tools. Branch divergence and control flow optimizations. GPU memory system. Memory system optimizations. Unified Memory and CPU-GPU cooperative computing. Synchronization, atomics, cache coherence, memory consistency. Parallel patterns, Histogram, Prefix-sum, etc. Dynamic parallelism, streams, multi-GPU programming. CUDA libraries, CuBlas, CuDNN, NPP, NvGraph, cuFFT, NCCL, cuSPARSE, etc. Other GPU programming environments, OpenCL and HSA.
Course Outcomes 1. Listing and applying fundamental principles of parallel algorithm design.
2. Describe common GPU architectures and programming models.
3. Explaining the factors that affect the performance of GPU programs.
4. Describing and applying the fundamental control flow optimizations to GPU programs.
5. Describing and applying the fundamental memory optimizations to GPU programs.
6. Explaining the techniques for communication and synchronization in GPU and understanding
the overhead of communication on GPUs. 7. Using parallel patterns with CUDA.
Pre-requisite(s)
Required Facilities C/C++ programming
Other
Textbook David B. Kirk and Wen-mei Hwu, 2012, Programming Massively Parallel Processors: A Hands-on Approach, (2nd Edition), Morgan Kaufmann, ISBN 0- 12-415992-3.
• Grama, A. Gupta, G. Karypis, and V. Kumar, Introduction to Parallel Computing, 2003, (2nd Ed.), Addison-Wesley.
Other References NVidia, CUDA Programming Guide
 
 
Courses . Help . About
Ninova is an ITU Office of Information Technologies Product. © 2024