Write a cpu side function that takes and rgb image called


Q 1. In your own words describe the four stages of a machine cycle in Von Neumann Architecture.

Q 2. In your own words discuss what resource sharing is and how it may benefit/deteriorate the performance of a parallel architecture

Q 3. Explain the following terminologies and discuss them in terms of Flynn's taxonomy: a. Task-based parallelism b. Data-based parallelism

Q 4. What is double buffering and which CUDA compute level introduced this mechanism?

Q 5. Discuss the following items in your own terms and give an example of an application which targets to optimize each (in computing). a. Latency b. Throughput

Q 6. Explain in your own terms what the Map communication pattern is and discuss at least two of its properties. Give two example applications for utilizing this pattern for parallelization.

Problem Question: P 1.

Suppose that we have an application in image processing. We can use two platforms: platform A has one CPU with 1 core and Platform B which has a GPU with up to 10,000 cores.

We have a video of colored images and would like to convert the frames in the video to grayscale. We know the following information about our CPU and GPU:

• It take the CPU core 1 microsecond (10-6 sec) to convert one pixel of the image from RGB color to gray scale.

• It takes each GPU kernel 0.5 millisecond (0.5*10-3 sec) to convert one pixel of the image from RGB to gray scale.

• Using the Map operations we can pass 10,000 pixels to the GPU to process in parallel without affecting per-pixel performance. That is, we can run 10,000 threads in parallel in appropriate sized blocks and grids.

a. Calculate the latency of CPU and GPU. (HINT: Latency unit is time)

b. Calculate the throughput of the CPU and GPU. (HINT: Throughput unit is No. of items)

c. Suppose that the video frames are 600x800. Can CPU code run a live streaming of the converted video (30 fps)? How about GPU code?

HINT: calculate the frame rates of the CPU and GPU codes for 600x800 images.

d. Calculate the maximum frame size for a video that can be processed by CPU in real time.

e. Calculate the maximum frame size for a video that can be processed by GPU in real time.

Programming Question: PA 1.

Write a program that takes an input image in RGB and converts its pixel RGB value to gray scale. In openCV the image data is stored in the "data" pointer. If the location of a pixel is calculated at "index" then R=image.data[index], G= image,data[index+1], and B= image.data[index+2];

To convert a pixel from RGB to gray scale all you need to do is to calculate the average of the three RGB values and store it to the output. output.data[outIndex] = (input.data[index]+ input.data[index+1]+ input.data[index+2])/3.0f;

a. Write a CPU side function that takes and RGB image (called input) and converts it to gray scale.

b. Write your code for the GPU that does the color conversion from RGB to gray scale.

Request for Solution File

Ask an Expert for Answer!!
Other Subject: Write a cpu side function that takes and rgb image called
Reference No:- TGS01132467

Expected delivery within 24 Hours