Katedra za opštu elektrotehniku

Elektrotehnički fakultet, Univerzitet u Banjoj Luci

Multi- and many-core processors for multimedia


Patricio Bulić, PhD Associate Professor

Learning Outcomes:

This course is designed for students in all disciplines tolearn the essence of these programming interfacesCUDA and OpenCL and how they should orchestratethe use of these interfaces to achieve application goals.After finishing the course, the students will be able todevelop multimedia algorithms (i mage and video processing, medical imaging, etc.) for massivelyparallel processors.

Content Description:

The high number of parallel cores poses a great challenge for software design that must expose massive parallelism to benefit from the new hardware. We will describe the modern GPUs that are a highly parallel, highly multithreaded multiprocessor optimized for visual computing. The aim of this course is to teach practical multimedia algorithms design for processors with massively parallel computing resources. Main topics are:

  • Introduction to multi- and many-core processors’ architecture.
  • GPU System Architectures
  • CUDA and OpenCL programming in C for GPU architecture
  • Programs and Kernels. Memory hierarchy.
  • Parallelization of two- and three-dimensional imaging.
  • Image and video categorization on massively parallel processors.
  • Best practices in GPU-based image and video processing.
  • GPU-based medical image computing techniques.
  • Reading and discussing research papers.