1. Accueil
  2. EN
  3. Studying at ULB
  4. Find your course
  5. UE
INFO-H503

GPU computing

academic year
2024-2025

Course teacher(s)

Gauthier LAFRUIT (Coordinator) and Jan LEMEIRE

ECTS credits

5

Language(s) of instruction

english

Course content

Parallel programming of image processing algorithms on GPU (Graphics Processing Unit) using the CUDA (Nvidia GPUs) and/or HIP (AMD GPUs) languages that are multi-threaded extensions of C/C++, and smartly exploiting the GPU’s memory architecture in an embedded and/or High-Performance Computing (HPC) system.

Objectives (and/or specific learning outcomes)

By the end of the course, the student will have implemented 2D image processing algorithms in CUDA, targeting (near) real-time applications. 

Prerequisites and Corequisites

Required and Corequired knowledge and skills

C/C++ programming skills (medium level; no need to master Object-Oriented concepts).

Teaching methods and learning activities

The course follows a “learn by example” approach.
The exercises will prepare the students (in groups of 2) to the parallel implementation of a 2D image processing algorithm described in a scientific report.

Contribution to the teaching profile

Massive multi-threads programming of a 2D imaging algorithm on a Graphical Processing Unit (GPU) for the multimedia engineer.

References, bibliography, and recommended reading

  • John Cheng, Max Grossman, Ty McKercher, "Professional CUDA C Programming," John Wiley & Sons, 2014.
  • Yifan Sun, Trinayan Baruah, David Kaeli, "Accelerated computing with HIP," Advanced Micro Devices, Inc, December 2022.

Course notes

  • Université virtuelle

Other information

Contacts

Prof. Gauthier Lafruit, LISA-VR, ULB
Prof. Jan Lemeire, ETRO, VUB

Campus

Solbosch

Evaluation

Method(s) of evaluation

  • Project
  • Oral presentation

Project

Oral presentation

The evaluation is mainly based on an oral exam, presenting an imaging project with CUDA acceleration (report and source code to be submitted, one week prior to the exam). Complementary questions on the theory might also be punctually asked during the CUDA project presentation.

Mark calculation method (including weighting of intermediary marks)

A mini-project (typically measuring basic GPU performance figures in the roofline model) with written report has to be delivered mid-term, enabling us to check whether the students are ready for their final CUDA project. It counts for 20% of the marks; the remaining 80% come from the oral exam itself.

Language(s) of evaluation

  • english
  • (if applicable french, Dutch )

Programmes