PV197 GPU Programming

Fakulta informatiky
podzim 2023
Rozsah
1/1/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k.
Vyučováno prezenčně.
Vyučující
RNDr. Jiří Filipovič, Ph.D. (přednášející)
doc. RNDr. Petr Holub, Ph.D. (pomocník)
RNDr. Jiří Matela, Ph.D. (pomocník)
Garance
RNDr. Jiří Filipovič, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Po 12:00–13:50 A217
Předpoklady
C programming basics (PB071), familiarity with CPU architecture and parallelization of algorithms (IB109).
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
předmět má 76 mateřských oborů, zobrazit
Cíle předmětu
The goal of this course is to explain how to use GP GPU for general computation.
Výstupy z učení
After the end of the course students should: describe the architecture, programming model and optimization for GPUs; explain GPU implementation of several broadly used algorithms; create GPUs implementation of given computational tasks; judge the suitability of given computational problem for GPU acceleration.
Osnova
  • Introduction: motivation for GPU programming, GPU architecture, overview of parallelism model, basics of CUDA, first demonstration code
  • GPU hardware and parallelism: detailed hardware description, synchronization, calculation on GPU -- rate of instruction processing, arithmetic precision, example of different approaches to matrix multiplication -- naive versus block-based
  • Performance of GPUs: memory access optimization, instructions performance, an example of matrix transposition
  • CUDA, tools and libraries: detailed description of CUDA API, compilation using nvcc, debugging, profiling, basic libraries, project assignment
  • Optimization: general rules for algorithm design for GPU, revision of matrix multiplication, parallel reduction
  • Parallelism in general: problem decomposition, dependence analysis, design analysis, parallel patterns
  • Metrics of efficiency for GPU: parallel GPU and CPU usage, metrics for performance prediction of GPU code, demonstration using graphics algorithms, principles of performance measurement
  • OpenCL: introduction to OpenCL, differences comparing to CUDA, exploiting OpenCL for hardware not accessible from CUDA
  • Case studies 1: Calculation of force field of molecule, automatic optimization of memory-bound functions
  • Case studies 2: Acceleration of image and video compression
  • Case studies 3: LTL model checking acceleration
  • Discussion of a project, presentation of best-achieved results, presentation of 3 best solutions by authors, final discussion
Literatura
  • MATTSON, Timothy G, Beverly A. SANDERS a Berna MASSINGILL. Patterns for Parallel Programming. Online. Boston: Addison-Wesley, 2005. xiii, 355. ISBN 0321228111. [citováno 2024-04-24] info
  • The data parallel programming model : foundations, HPF realization, and scientific applications. Online. Edited by Guy-René Perrin - Alain Darte. Berlin: Springer, 1996. xv, 284. ISBN 3540617361. [citováno 2024-04-24] info
  • GPU gems 3. Online. Edited by Hubert Nguyen. Upper Saddle River, NJ: Addison-Wesley, 2007. l, 942. ISBN 9780321515261. [citováno 2024-04-24] info
Výukové metody
Lectures, reading of recommended literature, solving and programming assignments.
Metody hodnocení
Scores for assignment solutions: 50% for the project, up to 30% bonus for the performance of the solution. Oral exam after all the lectures: 50%. In order to pass successfully, the score for the oral exam must be at least half of maximum.
Vyučovací jazyk
Angličtina
Informace učitele
V odůvodněném případě (dostatečné vstupní znalosti, potřeba absolvování předmětu pro realizaci závěrečné práce atp.) lze zapsat předmět i bez splnění předpokladu IB109 (je třeba požádat v IS o výjimku).
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích podzim 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2022.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2023/PV197