CS 220 Parallel Computing

Project 4: The A-maze-ing Escape (v 1.0)

Starter repository on GitHub: https://classroom.github.com/a/Gg8df3Ly

With your cache of classified information and your very own cryptocurrency to protect your new-found wealth, you must complete one last task: escape!

In this assignment, you will use multiple threads to explore possible escape routes (modeled as a maze). While our maze exploration algorithm isn’t very advanced, we can benefit by having many different threads all trying to find the goal (maze exit) concurrently.

In this assignment, you will get more familiar with:

Assignment Overview

You are given a sequential maze solving program and must fill in some functionality and parallelize it using pthreads. You will need to complete:

  1. Determining where the starting location is.
  2. Calculating neighboring grid cells (up, down, left, and right) based on array indexes.
  3. Starting a new thread for each step taken in the maze
  4. Counting the total number of threads started in a global variable that is protected by a mutex.


This project is extra credit. Completing the functionality above will earn you 5 points towards your course project score.