In my previous blog, I explained why a new computing paradigm is necessary to enable emerging mobile experiences within devices constrained by thermal and power budgets. I proposed mobile heterogeneous computing as the answer, but I didn’t really explain why.
Luckily for me, Qualcomm recently hosted a webinar introducing heterogeneous computing and explaining a few important concepts. Rather than trying to recap the whole webinar, here a few key tidbits I found most useful: what is heterogeneous computing and why are diverse processors important?
What is heterogeneous computing?
Mobile heterogeneous computing is a computing approach that uses different types of processors, such as CPUs, GPUs and DSPs, to efficiently run an application. The approach has two key aspects:
- Exploiting processor diversity by running the appropriate workload on the most suitable processor
So this basically means choosing which processor you would like to use for a specific workload. A system on a chip “SoC” has many processors for a reason, and Qualcomm has been assigning the right task to the right processor for a long time. I’ll get to the benefits of this later.
- Making processors more accessible and programmable to application developers
As I explained in the last blog, the CPU is not necessarily the most efficient processor for a variety of workloads. By making other diverse processors more accessible and programmable, application developers can offload the CPU and use other programmable processors that are more efficient, such as the GPU and DSP.
Why are diverse processors important?
Each processor has its own strengths and weaknesses. By efficiently utilizing the appropriate diverse processors, heterogeneous computing maximizes application performance, thermal efficiency, and battery life. What really resonated with me was a great toolbox analogy to get across the importance of processor diversity.
It makes sense that you would want a toolbox (SoC) with a diverse set of tools (processors) to handle a diverse set of projects (workloads). Most of us know how annoying it is trying to use the wrong tool for a task. Have you ever tried to hammer a nail with a wrench? I have, and the results were a crooked nail and a bruised thumb! Similarly, you do not want to use the CPU as your only tool for all compute workloads and emerging mobile experiences.
A great example showing the benefit of actually using diverse processors together on the Snapdragon processor comes from Pelican Imaging. Using the CPU, GPU, DSP, and video processor in a computational camera application versus using the CPU alone provides great benefits. Please watch the webinar to see the projected performance and power benefits of heterogeneous collaboration.
The webinar had many more great pieces of information, such as a deep dive into strengths and differences of the CPU, GPU, and DSP, so please be sure to check it out.
Also, be sure to view a brief video recapping some of the webinar’s concepts. Look for future blogs and webinars to learn about Qualcomm’s view on heterogeneous computing.