Project 3:
Objective:
In this project we will design and implement a C program that performs computations on large matrices. The size of a matrix is large enough so that the execution of program causes paging.
Purpose:
Different choices of copying the matrix may have different impacts on the program runtime. You are required notice such impacts and eventually propose a design that efficiently leverages the mechanisms described below to achieve the best performance.
Requirements:
1. Complete the given C program and use multiple optimization mechanisms to improve the execution runtime.
2. You are required to use all the mechanisms discussed in the class
3. You are only allowed to use standard libraries and intrinsic library to implement your program
4. You are not allowed to create new threads in your implementation.
5. When using gcc to compile your code, you are allowed to use optimization level3(-O3).
Mechanisms:
1. Caching: You are required to try different cache block size in your code and use the block size that gives you minimum runtime when integrated with other techniques (SIMD and superscalar mechanism)
1. SIMD: You are required to make use of Single Instruction Multiple Data (SIMD). It means performing a single operation on multiple data points simultaneously.
2. Superscalar mechanisms: A superscalar processor executes more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different components on the processor.
Submission:
You are required to submit a final report for this assignment along with your source code. You need to describe on what mechanisms are used in your implementation and how much performance improvement is achieved. Please write it down in terms of runtime.
Grading Rubrics:
1. If your code does not run, you will not receive any credits
2. You are required to combine at least two technique of optimization, otherwise will not receive any credits
3. Combining two methods can enable you to have at most 60%
4. Combining all 3 techniques can earn you at most 75%
5. 25% of the points is reserved for quality of your report; i.e. how you tried fine tuning with different parameters and combined several different ways to reach your final result.
/docProps/thumbnail.jpeg