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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started