mutual exclusion

Introduction to Parallel Programming video lecture series – Part 06 “Confronting Race Conditions”

The lecture given here is the sixth part in the “Introduction to Parallel Programming” video series. This part provides the viewer with practical examples of errors that can occur when threads may contend for shared resources. One example is a simple arithmetic computation and another attempts to add nodes onto a linked list. Methods to eliminate data race conditions within threaded code are given in the abstract and in practical terms using two OpenMP pragmas: critical and atomic.

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.

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.

Choosing Appropriate Synchronization Primitives to Minimize Overhead

Currently, there are a number of synchronization mechanisms available, and it is left to the application developer to choose an appropriate one to minimize overall synchronization overhead.
  • Developers
  • Server
  • atomic operations
  • synchronization
  • Win32 threads
  • system overhead
  • mutual exclusion
  • Parallel Computing
  • Threading
  • Courseware - Visualization

    • Basic viewing and interrogation functions for visualization
    • Visualization of vector fields, tensors, and flow data
    • Visualization of scalar field or height field: isosurface by the marching cube method
    • Direct volume data rendering: ray-casting, transfer functions, segmentation, hardware
    • Information visualization: projection and parallel-coordinates methods



    Case Study in Parallel Computation and Graphics Visualization: Parallel Mandelbrot



  • Professors
  • Students
  • Intel® Cilk™ Plus
  • Intel® Threading Building Blocks
  • OpenGL*
  • OpenMP*
  • visual computing
  • visualization
  • Mandelbrot
  • mandelbrot set
  • opencv
  • nbody
  • critical section
  • mutex
  • mutual exclusion
  • Graphics
  • Parallel Computing
  • Threading
  • Subscribe to mutual exclusion