OpenMP*

Introduction to Parallel Programming video lecture series – Part 05 “OpenMP for Domain Decomposition”

The lecture given here is the fifth part in the “Introduction to Parallel Programming” video series. This part gives an introduction to the OpenMP library for parallel programming, shows how to identify loops whose iterations can be executed in parallel, and how OpenMP pragmas can be added to execute loop iterations in parallel. OpenMP clauses to define private copies of variables and to define reduction operations on selected variables within parallel loops are also covered.

Introduction to Parallel Programming hands-on programming lab – Recursive Quicksort

This hands-on exercise lab, Quicksort, is a programming lab associated with the video lecture “Implementing a Task Decomposition” (Part 9) from the “Introduction to Parallel Programming” series. This problem seeks to parallelize the recursive implementation of the Quicksort algorithm with a task decomposition solution. The lab contents include source files and written instructions to guide the programmer in converting the serial source code into an equivalent parallel version using OpenMP.

Introduction to Parallel Programming hands-on programming lab – Prime Finder (Intel)

This hands-on exercise lab, Prime Finder, is one of two programming labs associated with the video lecture “OpenMP for Domain Decomposition” (Part 5) of the “Introduction to Parallel Programming” series. The lab contents include source files and written instructions to guide the programmer in converting the serial source code into an equivalent parallel version using OpenMP. Solution source files and a walk through solution video are provided to explain how the initial serial codes can be transformed into equivalent parallel source codes.

Introduction to Parallel Programming hands-on programming lab – Numeric Search

This hands-on exercise lab, Numeric Search, is one of two programming labs associated with the video lecture “Confronting Race Conditions” (Part 6) of the “Introduction to Parallel Programming” series. This problem examines numeric values in order to determine how many conform to a given set of properties. The lab contents include source files and written instructions to guide the programmer in converting the serial source code into an equivalent parallel version using OpenMP.

Introduction to Parallel Programming hands-on programming lab – Matrix Multiplication (Intel)

This hands-on exercise lab, Matrix Multiplication, is one of two programming labs associated with the video lecture “OpenMP for Domain Decomposition” (Part 5) of the “Introduction to Parallel Programming” series. The lab contents include source files and written instructions to guide the programmer in converting the serial source code into an equivalent parallel version using OpenMP. Solution source files and a walk through solution video are provided to explain how the initial serial codes can be transformed into equivalent parallel source codes.

Basic Parallel Programming Concepts (VTU)

The primary objective of this chapter is to make students understand the concepts of parallel programming. The chapter is dealt with as an extension to C programming so that the student develops an insight into writing parallel programs. This chapter does not intend to teach any in- depth concepts of Operating System, Computer Architecture, threading etc, but only introduces the relevant concept wherever necessary.

Case Study in Parallel Computation and Graphics Visualization: Parallel N-Body

Target Audience: Undergraduate with 3D math and physics background (senior)

Description: Medium-sized project that simulates the n-body problem (multiple non-colliding celestial objects influencing each other through gravity). Uses OpenGL and FreeGlut for visualization. Includes three versions for both Windows and Linux: serial, OpenMP, and CILK.

Case Study in Parallel Computation and Graphics Visualization: Parallel Ray Tracer

Target Audience: Graduate with 3D math and Linear Algebra background

Large project with feature-rich ray tracer (including anti-aliasing, glossy reflections, translucency, depth of field, soft shadows, and median-split volume hierarchy acceleration structure). Does not include visualization, but can easily be converted to support OpenCV. Reads Pixar Renderman (*.RIB) files and outputs *.PPM image files. Includes three versions for both Windows and Linux: serial, OpenMP, and CILK.

Subscribe to OpenMP*