Marking: For this assignment, the software and documentation are each worth 50%. Software that does not compile, link, and execute on lockhart will receive 0%. The report does not have to be beautifully bound, but should be presentable and not be hand written.
Now that you're thoroughly familiar with this problem and have done a pthreads solution, let's go back to the drawing board. Get out your original pseudocode and, of course taking into account any flaws you discovered in the course of implementing the pthreads version, start by making a
Then, just like we've done in the labs, begin parallelizing it using OpenMP. That's all! The command line arguments are the same as for A2, and it produces the same output file redblue.txt. Try to employ Parallel Inspector and Parallel Amplifier to good advantage. You'll be reporting on tool use in the documentation.
As with A2, the part that we want to time is just the simulation, excluding board initialization and final output. Continue using StartTime() and EndTime().
NOTE: It is not necessary to implement "interactive mode" in the OpenMP version, which should allow you to cut down the complexity.
Same terms as for A2, including rematch.
For the software, mark is 0-5 based chiefly on functionality:
5 = Parallel program that produces correct results, reports timings for any tested args, and shows decent application of omp pragmas
1 = Parallel program that runs cleanly, and is coded with omp pragmas to address the problem, but results are all incorrect or missing
0 = Fails to compile and link, or crashes without producing any results
In addition, small 1/2 mark penalties were deducted for specific "sins" as in A1.
For the documentation, start with 5 marks, then deduct 1 mark for any item missing, or 1/2 mark for any lame or poorly-done item. If you didn't have any working software to graph, you'll lose at least 1 mark to be fair to those who conducted timing and produced their graphs.