Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Formal report - Disparity Algorithm Implementation:

(EENGM4100. Deadline: 18th April 2024 13:00)

Please note that all examples and laboratory exercises conducted during the laboratory sessions are not assessed. This coursework is the only marked assessment for this course.

A disparity algorithm is given in C language (see blackboard: Disparity_CCS5.zip). You are required to study the code and increase the performance in terms of speed.

Tasks to perform:

1.   You are  required to study the C code  (stereo_vision_c.c), optimise the algorithm and  use intrinsics and compiler switches such as #pragmato increase the performance. Always compile your code with -O3 optimization flag. Your code should be faster than the base line version (0.58s) with zero errors. You get full marks for achieving faster than 0.01s with zero errors.

Total mark 20%

2.   Write the linear assembly for the stereo vision code (stereo_vision_sa.sa), in order to increase the speed performance using the SIMD instructions. You get full marks for achieving faster than 0.01s with zero errors.

Total mark 60%

Note:  You  get  30%  if  the code in linear assembly operates properly regardless of the performance (with zero errors). If your modified algorithm achieved a higher performance but with slight errors, please submit it along with a zero-error version code and explain clearly in the report, we will mark themona case-by-case basis.

3.   Write a formal report explaining the implementation and showing/discussing the results. Presentation will betaken into account.

Total mark 20%

Make sure to check the correctness of your code by looking at the printed error rate and the generated image as explained in the lecture. When you start working on linear assembly, remember to reset the output buffer from C code to zeros (line 76 in main.c).

Please submit one PDF report and one zip file with all the projects. (Please DO NOT submit only the source files). Marks will be deduced if a project will not compile. Only ONE submission per group is required, with names and email addresses included in the report. Submission should be through Blackboard. Please note all members of the group are responsible for plagiarism check.

The report should follow the template given on Blackboard and should not exceed 4 pages; extra pages can be used in the appendix. Your report should include a table like this, showing the results of all your code:

Method

Time in Seconds

Non-optimised C

0.58

Optimised C

0.02

Optimised Linear Assembly

0.05


Each group member should submit (A) an individual deliverable outlining their specific contributions, challenges encountered, and lessons learned during the implementation process and (B) a Peer Evaluation Form. As an example:

A.   Individual Deliverables: Disparity Algorithm Implementation

Student Name: John Smith

Summary of Contributions:

Challenges Faced:

Lessons Learned:

Peer Evaluation Form

Please rate your group members on the following criteria, using a scale from 1 to 5:

1. Contribution to the Project:

•     Did the member actively contribute to project tasks and discussions?

•     Did they complete their assigned responsibilities on time?

2. Teamwork Skills:

•     How well did the member collaborate with others in the group?

•     Were they supportive and respectful towards team members?

3. Communication:

•     Did the member communicate effectively within the group?

•     Were they responsive to messages and available for discussions?

4. Reliability:

•     Could you rely on the member to fulfil their commitments?

•     Did they attend group meetings and participate actively?

5. Overall Contribution:

•     Considering all aspects above, how would you rate the member's overall contribution to the group project?

Comments (Optional): Please provide any additional comments or feedback about the member's contributions and teamwork.