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

Date: 22/Jun/2017 Time: 09:00 - 23/Jun/2017 Time: 09:00

Target group: For participants with basic C/C++ programming skills, interested in parallelization of their applications and image/video processing. The course is limited to 30 places.

Cost: This workshop will not charge participation fees.

Primary tabs

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.

Requirements

 Basic knowledge of C/C++ programming.

Please bring your lap-top in order to be able to participate in the labs.

Learning Outcomes

The attendees will learn to use basic OpenMP constructs and clauses (omp for, barrier, atomic…), and will be able to explore essential CUDA features (threading model, shared memory, atomic operations, streams…).

Academic Staff

Convener: Antonio Peña, BSC Computer Sciences Dept., Programming Models Group, GPU Centre of Excellence (GCOE) Lead Researcher

Lecturer: Prof. Juan Gómez Luna, Universidad de Córdoba