CS 112 Project 10: Parallel Processing with OpenMP

Objectives:

  1. Practice using OpenMP operations.
  2. Work on an open-ended problem.

Introduction

This week's project is a single person project. The project is to try to speed up other Matrix operations.

The Problem

We have speeded up the Matrix addition and transpose operations. This week's project is quite open-ended: you are to see what else you can do to speed up the Matrix class as a whole, using OpenMP directives. Keeping in mind the 90-10 rule, and try to identify the time-consuming areas within the Matrix class.

When you find an operation that seems like a good candidate for speedup, write a method for the MatrixTimer class to time it and get a baseline value for how long it takes. Then, when you make changes to your Matrix class, you will be able to tell whether or not your changes are effective in speeding up that operation.

Be sure to re-run your tests each time you make a change, to make certain your change has not "broken" any of the other operations. While you are developing, you may create your own smaller input file(s) to speed up the development, but the final numbers for your spreadsheet should be generated using the bigger input file.

You may find this page of OpenMP resources to be of use.

Document everything you try (successful or failure) in a spreadsheet, and create charts showing your results.

Submit


CS > 112 > Projects > 10


This page maintained by Joel Adams.