Qualcomm’s Strategic Pillar To Win In Mobile: Heterogeneous Computing

Today, Qualcomm kicked off “Uplinq”, its annual developer conference, in sunny San Diego. Thousands of attendees from the mobile ecosystem listened to CEO, Paul Jacobsand QMC’s Co-President, Murthy Renduchintala give opening keynotes.  Murthy’s opening speech was solid, and he laid down a gauntlet to the industry and its competitors.  What’s apparent now is that one way Qualcomm intends to win in mobility is by leading in specialized, or heterogeneous computing for mobile devices.  Let me provide some background first.

As I wrote here, there are two kinds of computing, homogeneous and heterogeneous. Homogeneous computing is where a device does most of the work on the same type processor.  These are devices like a PC or server where most of the work is being done on a CPU. Heterogeneous computing is the opposite, and uses different kinds processors, or what Qualcomm calls “engines”, for different kinds of tasks.  These “engines” come in the form of a GPU, DSP, many other specialized engines and yes, a CPU. When architected well and with the right kind of software, this kind of computing is the most efficient as it can lead to the highest performance at a specific power budget. To be clear, having multiple CPU cores, even if they are of different sizes, isn’t heterogeneous computing.

Qualcomm’s Murthy used a great analogy, a soccer team, to explain heterogeneous computing.  He talked about the different players like the goalie, forwards, mid-fielders and defenders having different skills and positions, each with different positions and skills. If every player were a goalie, it wouldn’t be a good team. I thought this was a great analogy to show how each specialized engine works in optimum conjunction with other engines in the SoC.   I’ve used the golf club analogy where each club, your woods, irons, pitching wedge and putter serve a different purpose.  Playing all 80-100 strokes with a putter would be ridiculous.  Heterogeneous just makes common sense.

Heterogeneous computing is very important in mobile devices like smartphones and tablets.  We don’t use these “phones” like telephones, we use them across a wide variety of uses, more like a computer.  In Murthy’s keynote, he rattled off a few key consumer research points that highlight just how much smartphones are used across different usage models: like gaming, search/shopping, navigation, and taking pictures:

  • ~80% play games on their phones instead of a console
  • ~60% use their phones to search and shop online instead of their computer
  • ~80% use their phones to navigate instead of their dedicated GPS device
  • ~60% use a mobile device to take pictures a few times a week or more

Mobile devices will evolve even further in the future as I can see consumers using their phones doing virtual and augmented reality, to play a mirrored a game on a 4K TV, using more voice and air-gesture based natural user interfaces, and much better computational photography and videography.

To attack these new usage models, you can’t just throw more CPU cores at the problem. This will just drive power up and you can’t do that in mobile computing. Even the PC industry knows this. The average number of CPU cores in a standard notebook is two, as PC architects are focusing on GPU performance and lower overall system power. It’s hard enough to light up 4 CPU cores in a PC and is even harder to light up 4-8 phone cores.  The answer is heterogeneous computing.

Qualcomm’s Murthy was very clear at Uplinq that one way he intended to win in the mobile marketplace was by winning at heterogeneous computing. Let me lay out the Qualcomm recipe for this.

First, Murthy says Qualcomm is committed to have best-in-class building blocks, or “engines”.  These blocks include the CPU, GPU, DSP, multiple connectivity engines, multiple multimedia engines, camera engines, display engines, navigation and sensor cores:

  • CPU: Called “Krait”, it is based on the ARM architecture, but because they have an architectural license, Qualcomm essentially builds it from the ground up. They have the flexibility to optimize the memory controller, caches, frequency, etc., which can result in very high performance and extremely low power consumption.
  • GPU: Called “Adreno”, it provides accelerated graphics for games, user interfaces, as well as high performance compute tasks
  • DSP: Called “Hexagon ”, the digital signal processor or DSP is well suited to those “always-on” functions like “listening” and “seeing” where the lowest possible power is needed.
  • Connectivity engines: “Gobi” LTE, “Atheros” WiFi, Bluetooth and NFC where communications, navigation and connecting to other devices is critical.
  • Multimedia engines: Fixed function blocks that play back HD video and audio, and encode it as well.
  • Camera engine: Known in the industry as an ISP (image signal processor) and VSP (video signal processor), it drives the quality of the picture or video.

As you can see, every “engine” does something different and there is a lot of Qualcomm IP involved that allows Snapdragon processors stay competitive both in terms of functionality and time to market.

Qualcomm’s strategy isn’t just about the discrete blocks, it’s also about intelligently bonding them together.  They also own the IP for the interconnects, caches, and memory to physically pull the entire solution into an integrated and optimized SOC.

Without software, all you have is a piece of silicon, and with heterogeneous computing, software is more complex compared with homogeneous computing.  Qualcomm has developed its own software and is part of consortiums to standardize on it years down the road.  The industry needs mobile heterogeneous computing today and to help with that, Murthy said Qualcomm has released a lot of software tools to help developers.  Owning the entire platform, Qualcomm could take a proprietary approach.  This would be bad, because this would lock ISVs, ODMs, and OEMs into one solution and it would ultimately stifle the type of developer innovation that’s critical to the long-term success of the platform.

To Qualcomm’s credit, they use open standards when they are available and where there aren’t, provide their own tools and APIs.  For example, they offer tools for supporting growing industry standards, such as OpenGL, and OpenCL. They are also helping define open standards for heterogeneous computing. Qualcomm is a founding member of the HSA (Heterogeneous System Architecture) Foundation and actively participates in Khronos for OpenCL. Since there is little open programming standards support for DSP today, Qualcomm has recently offered native tool for their DSP called the “Hexagon SDK”. In addition, they provide heterogeneously optimized libraries such as Vuforia and FastCV, that when run on Snapdragon take full advantage of the proprietary engines in Snapdragon, but can also enable “fall back” support, which is important for code portability, For example, if an ISV uses their SDK and if doesn’t see Snapdragon, it can “fall back” to a non-optimized version that will just run on the CPU.

A good example of where this technology comes together is in gaming.  In gaming, the CPU, GPU, display engine, sensor core, and DSP could be all hitting at once, using OpenGL, OpenCL, and the Hexagon SDK. To make heterogeneous computing work optimally, the discrete engines and their interaction between each other needs to work well, too.

At the event today, Google‘s Motorola also showed a good example of heterogeneous computing.  Regina Dugan, Motorola Mobility SVP of the Advanced Technology and Projects group, demonstrated a unique application of an immersive and interactive storytelling experience. In partnership with leading artists, Motorola used cutting-edge graphics technology know as Open Subdivision of Surfaces implemented in OpenCL on the Adreno GPU, advanced sensors and the Krait CPU to produce a unique, new form of story-telling.

Qualcomm’s heterogeneous computing approach makes a lot of sense….it’s a full set of clubs for the most demanding golf course. It’s not an easy path either, as it’s a lot more work and investment, but strategically, it’s a good path for Qualcomm.  While they’re not the only mobile vendor doing heterogeneous computing, Qualcomm has one of the broadest and deepest mobile IP portfolios with many years of experience tackling these kinds of problems.

With their heterogeneous approach, Qualcomm is shooting a giant cannon across the bow of the mobile competition and has potentially raised the experiential bar for the next generation of mobile devices.