Parallel Image Analysis

PhD-level course   —   3 hp   —   period 4   (21 March – 27 May 2011) Centre for Image Analysis, Polacksbacken, Uppsala

Course Description

In this course we will explore techniques to take full advantage of modern desktop hardware, as well as high-performance computing facilities such as UPPMAX, for image analysis applications.

The course will give an introduction to:

In addition to a simple exercise with each of these technologies, you will choose one of these technologies to try to speed up your favorite algorithm as much as you can. You will then share with the class your experiences and lessons learned. This project will serve as the course evaluation.


After the course, the student shall:


All lectures will be given in the CBA lecture room, Polacksbacken 2115.

1 Tuesday, 22 March, 13:15-15:00 Lecturer: Cris & Elias
Introduction to image analysis, parallel computing, and UPPMAX.
Kalkyl user guide, UPPMAX file storage.
Wednesday, 23 March, 10:15-12:00 Lecturer: Elias
Parallelism paradigms.
Wednesday, 23 March, 13:15-17:00 Hands-on session
Using UPPMAX, scheduling jobs, etc.
2 Tuesday, 29 March, 13:15-15:00 Lecturer: Cris
Taking advantage of your multi-core processor (pt 1).
OpenMP tutorial, OpenMP specification.
Slides (for both days).
Herb Sutter, "The Free Lunch Is Over".
Wednesday, 30 March, 10:15-12:00 Lecturer: Cris
Taking advantage of your multi-core processor (pt 2).
Németh and Palágyi, "Topology Preserving Parallel Thinning Algorithms."
Roerdink and Meijster, "The Watershed Transform: Definitions, Algorithms and Parallelization Strategies."
Wednesday, 30 March, 13:15-17:00 Hands-on session
OpenMP programming (on UPPMAX).
3 Tuesday, 5 April, 10:15-12:00 Lecturer: David
Introduction to GPU architectures and introduction to OpenCL.
David worked at Apple on the development of the first OpenCL implementation.
– Slides: GPU Architectures for Non-Graphics People, Introduction to OpenCL.
Wednesday, 6 April, 10:15-12:00 Lecturer: Cris
Using your graphics card to speed up specific image analysis tasks.
The distance transform, erosion and separability, Meijster, Roerdink and Hesselink, "A General Algorithm for Computing Distance Transforms in Linear Time."
Xu and Mueller, "Real-time 3D computed tomographic reconstruction using commodity graphics hardware ."
Wednesday, 6 April, 13:15-17:00 Hands-on session
OpenCL programming (on laptop/desktop).
OpenCL specification, online manual pages.
4 Tuesday, 12 April, 13:15-15:00 Lecturer: Elias
Using distributed-memory computer clusters (pt 1).
Slides (for both days).
Wednesday, 13 April, 10:15-12:00 Lecturer: Elias
Using distributed-memory computer clusters (pt 2).
Wednesday, 13 April, 13:15-17:00 Hands-on session
Message Passing Interface (MPI) programming, profiling MPI programs (on UPPMAX).
MPI-2.2 standard
5 Tuesday, 10 May, 13:15-17:00 Evaluation
Project presentations by the students (15 minutes per group).


Sign up for the course by emailing Cris Luengo. The deadline is one week before the course start. The course is limited to 24 participants, and taught in English. All lectures will be held at the Centre for Image Analysis.


Cris Luengo, CBA (responsible).
Elias Rudberg, UPPMAX.
David Black-Schaffer, Division of Computer Systems.

And support from:
Anders Hast, UPPMAX.


At least 5 hp in image analysis courses, and experience with MATLAB and C programming.


Students will need to use their own desktop/laptop for the project. Remote access to UPPMAX computing facilities will be given for the duration of the course.


The course is based on journal papers, on-line software manuals, and so forth. Copies will be provided to the course participants during the course.

Valid HTML 4.01! Valid CSS! © 2010-2011 Cris Luengo
Last modified February 9, 2011.