Programming Models @ BSC

Boosting parallel computing research since 1989

Basic Programming of Multicore and Many-Core Processors for Image and Video Processing

- Written by Xavier Teruel


Tutorial: Barcelona, SPAIN
Event date: June 22-23th, 2017
Speakers: Juan Gómez Luna

OBJECTIVES

This course is delivered by the GPU Center of Excellence (GCOE) awarded by NVIDIA to the Barcelona Supercomputing Center (BSC) in association with the Universitat Politecnica de Catalunya (UPC) as a Severo Ochoa workshop.
The course will present the parallelization of several widely-known image and video processing algoriths such as color space conversion, gaussian filtering, and histogramming. Its aim is to be an initial approach to parallel programming to those who may be interested in the potential parallelization of the applications they work with.
Current processors can be classified into multicore and many-core processors, depending on the number of available cores. Among the many-core processors, GPUs are the most popular. Both multicores and many-cores are suitable for exploiting the inherent parallelism in many applications. This way, they can speed up these applications, in order to achieve certain requirements (for instance, real-time performance in image and video applications). The aim of this course is to serve as an initial approach to parallel programming to those who may be interested in the potential parallelization of the applications they work with. We will use several widely-known image and video processing algorithms as case studies: color space conversion, gaussian filtering, histogramming… By taking advantage of the data parallelism available in these algorithms, we will introduce OpenMP for programming multicore processors and CUDA for GPUs. The course will be eminently practical with seven hands-on labs.

AGENDA

  • Day 1
    • 09:00 Parallel computing: OpenMP and CUDA
    • 10:45 Coffee break
    • 11:15 Hands-on lab 1: Brightness adjustment
    • 13:00 Lunch break
    • 14:00 Hands-on lab 2: RGB to YUV conversion
    • 15:45 Coffee break
    • 16:15 Hands-on lab 3: Gaussian filter
    • 18:00 Adjourn
  • Day 2
    • 09:00 Hands-on lab 4: Your own filter
    • 10:45 Coffee break
    • 11:15 Hands-on lab 5: Histogram calculation
    • 13:00 Lunch break
    • 14:00 Hands-on lab 6: Edge Detection
    • 15:45 Coffee break
    • 16:15 Hands-on lab 7: Asynchronous transfers
    • 18:00 Adjourn

MORE INFO

https://www.bsc.es/education/training/cuda-training/basic-programming-multicore-and-many-core-processors-image-and-video-processing