Assignment
The assignment is to implement a stereo vision application that uses GPU acceleration..
Requirements
You should finish this assignment independently, and hand in a small report. The report should include the following things:
- The correctness of your GPU code should be verified. Your GPU code should generate the same result as the CPU code. Some handy programs such as "diff", pre-installed in Linux and freely available for Windows, can do the check.
- The structure of your implementation: thread organization, memory mapping, etc.
- Benchmark results.
- Basic requirement: the time used to process the image. At least two cases: CPU-only and GPU-accelerated.
- You should benchmark the complete operation, except the file I/O. In particular, the overhead of data transfer between host and device should be included, or measured separately.
- For each optimization method you have performed, benchmark the effect of such method, in a way similar to this figure in the matrixMul example. Are these optimization methods as effective as you expected? Why or why not?
- Optionally, you can change the algorithm of the stereo vision. In this case, you also need to provide the analysis on the trade off between quality and performance.
Hand in your assignment by sending the following things to d.she _at_ tue.nl and z.ye _at_ tue.nl:
- Your report in PDF (NO .doc file!). It should be no more than 6 pages. And DO NOT attach complete source code in the report.
- An archive file containing the final version of your source code (please don't include any image).
The requirements for the report are:
- The structure of your implementation: thread organization, memory mapping, etc.
- What changes have you made to make to optimize your application for GPU? Are they as effective as you expected? Why or why not.
- Benchmark results
- The environment you used, including CPU, memory system, GPU, graphics memory, etc.
- Basic requirement: the time used to process the image. At least two cases: CPU-only and GPU-accelerated.
- You should benchmark the complete operation, except the file I/O. In particular, the overhead of data transfer between host and device should be included, or measured separately.
The deadline for this assignment is Dec 20.