Shared Memory Parallel Computing
Spring 2010
Contents
This IPDC course is an introduction to parallel and distributed programming, including both the concepts and their application. Course content will include discussions of different types of parallel machines and machine models, the design and analysis of parallel algorithms, and the development of parallel programs.
This page provides information about the second half of the course: Shared Memory Parallel Computing.
Purpose
The purpose of this part of the course is to give you a practical introduction to parallel programming on a shared memory computer.
Aim
At the completion of this part of the course, you will be able to:
- Demonstrate knowledge about the concepts and essential syntax of OpenMP.
- Parallelize an existing serial code, and write a parallel code from scratch, using OpenMP and Java threads.
- Measure the performance of OpenMP and Java thread codes.
Textbook
Barbara Chapman, Gabriele Jost, and Ruud van der Pas:
Using OpenMP - Portable Shared Memory Parallel Programming.
The MIT Press, 2007.Teacher
Keld Helsgaun, associate professor
Additional information
Resources
Software
- VirtualBox (x86 virtualization software)
- Ubuntu (Linux-based operating system)
Supplements
- OpenMP Web Site
- OpenMP 3.0 Specification
- Summary of OpenMP 3.0 C/C++ Syntax
- Intel Parallel Programming Videos
- Learning C from Java
- A Concise Introduction to C
- Concurrency. The Java Tutorial
- Task Execution (using the Java Executor framework)
- UNIX Tutorial for Beginners
- Debugging with GDB
- Valgrind
- 32 OpenMP Traps For C++ Developers
- Introduction to Parallel Computing (tutorial)
- How to Survive the Multicore Software Revolution