Question: Changing a program to parallelize it can help shrink execution time of a program significantly. Suppose that youre analyzing a hypothetical software program written such

Changing a program to parallelize it can help shrink execution time of a program significantly. Suppose that youre analyzing a hypothetical software program written such that 35% is parallelizable.

a) [10 points] What is the theoretical maximum overall speedup that can be achieved only by parallelizing the program?

b) [10 points] An engineer in your team proposes to run the software program on a dedicated Graphical Processing Unit (GPU). He recommends using the GPU-10 model which is 10 times faster than the normal CPU the software runs on. GPU-10 can fully exploit the available software parallelism. Evaluate the maximum overall speedup possible by using GPU-10?

c) [15 points] When you talk to the hardware vendor, she suggests using GPU-25 instead of GPU-10. At first glance, GPU-25 would be better since it is 25 times faster than the original CPU. However, GPU-25 is harder to effectively parallelize. Calculate the fraction of the original code that must be parallelized if using GPU-25 to match the speedup of GPU-10.

d) [15 points] Based on your answers to part b) and c), which GPU model do you recommend and why? Is there any additional information needed for a recommendation?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!