26
edits
Changes
→Assignment 1
Within the function itself there are many nested loops with calls to the sumSteps function in the SubmatrixCalculator.cpp file. Since the purpose of this function is to retrieve the path through the matrix while calculating the number of steps, this simple operation could benefit from the usage of a GPU rather than a CPU.
----
<h4>Recommendation</h4>
Based on the above profiling, our group has decided to go with Sudoku solver as our program to parallelize.
In order to determine the potential speed up for the Sudoku solver, we utilized Amdahl's Law:
S480 = 1 / ( 1 - 0.47 + 0.47 / 480 ) = 1.88
At best, we expect the process time to drop from 17.13 secs to about 17.13 / 1.88 = 9.11 secs
The reason we chose the Sudoku solver was because we felt that the Sequence Alignment was too complex of an algorithm to work with, and the image processor seemed a bit too simple to parallelize. The sudoku solver seemed to be the right balance in terms of complexity as well as potential speed up. We are nearly cutting the time in half for a standard 9x9 puzzle, but as the puzzles get harder, through either an increase in the matrix size, or through an increase in blank numbers to be solved, we would expect even better performance through parallel programming than standard serial programming.
=== Assignment 2 ===
=== Assignment 3 ===