Question

Design and develop a piece of software which interacts directly with computer hardware, including parallel architectures. You are required to deliver a software solution with a report (1500 words). You should

ensure the following are included in your development (this list is not exhaustive): Part A (Design, implement and evaluate programs): • You can select an application of your choice and parallelize it. (Ex. image filtering, discrete wavelet transform, matrix multiplication, discrete cosine transforms, etc.) • You can use any programming language (Python, Java, C/C++, etc.) with which you are conversant and submit your source code. • You are free to use any hardware (CPU, GPU, or APU) • You are free to use any Operating system (Linux, Windows, etc.). • You can use external libraries such as OpenMP, OpenCL, CU DA, etc. Part B (Report-1500 words): You are required to submit a report of about 1500 words along with the code (both sequential version and parallel version). Also, you need to provide a demo video/presentation of the working of your code. Your report should contain at least the following information: • Summary or Introduction • Programming language and hardware details: In this section, you should include details about programming language and hardware. Also, this is a section to mention external libraries.

Fig: 1