The assignment is to implement a contrast enhancement application that uses GPU acceleration. The effects of contrast enhancement is illustrated in the figure below (left: unequalized; right: equalized).
You can learn about contrast enhancement on this page. A C implementation is also given, which can be used as the starting point.
You should finish this assignment independently, and hand in a small report. The report should include the following things:
- 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.
- What changes have you made to make to optimize your application for GPU? Are they as effective as you expected? Why or why not.
Hand in your assignment by sending the following things to d.she _at_ tue.nl:
- Your report in PDF (NO .doc file!).
- An archive file containing the final version of your source code. Please make sure it can compile and run correctly on the PC we provide.
The deadline for this assignment is Dec 14.