Parallel Programming with the POSIX Thread Library

Description

This workshop is for programmers and scientists with a basic background in C programming, who want to increase the flexibility and responsiveness of their code and take advantage of modern multicore and multi-threaded computer architectures. It is an introduction to the Posix Thread Library and its application to the parallelization of C programs. We assume no prior knowledge of multithreading or parallel programming, but some background in Unix operating systems and programming in C will be necessary. The lectures include demonstrations of example programs on a multicore machine. The following subjects will be

  • Parallel Programming and Multithreading
  • The Posix Thread Library, Basics of Thread Programming
  • Creating and Manipulating of Threads
  • Synchronization, Locks and Condition Variables
  • Thread-Specific Data and Destructors

Instructor: Hartmut Schmider, HPCVL, Queen's University.

Prerequisites: Basic Fortran or C programming.