OnQ Blog

Diversity Only Makes You Stronger

3 Jul 2013

Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.

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:

  1. 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.

  1. 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.

Pat Lawlor

Senior Manager, Technical Marketing

More articles from this author

About this author

Related News

OnQ

Heterogeneous Computing: An architecture and a technique

If you’re looking to create great mobile experiences, optimization isn’t optional: it’s a crucial step that helps transform good ideas into great execution. In our previous “Start Cooking with Heterogeneous Computing Tools on QDN” blog, we discussed the concept of heterogeneous computing and how it can help you get more from mobile hardware by sending computational tasks to the best suited processor. Heterogeneous computing is designed to help you achieve better application performance while improving thermal and power efficiency.

However, not all systems capable of heterogeneous computing are created equal and it’s important to understand why. Heterogeneous computing is both a computational technique and a hardware architecture. To achieve greater benefits, you are better served with hardware architected for heterogeneous computing from the ground up along with a software stack that facilitates heterogeneous computing techniques. It’s the combination of purpose-built hardware and a software stack offering granular control within a larger framework of system abstraction that allows for the deep optimizations that heterogeneous computing can deliver.

The Qualcomm Snapdragon Mobile Platform is designed on these principles. This starts with the microarchitecture – the choices made in platform circuitry that include how individual processors are engineered for high performance and how to optimize compute paths between the processors. Let’s look at the main components of the Snapdragon mobile platform and a few of the microarchitecture considerations that went into its design:

Qualcomm Kryo 280 CPU

Designed to handle complex workloads like web browsing and in-game artificial intelligence, the Kryo 280 features an octa-core processor with independent high efficiency and high performance core clusters. During normal operation, the high efficiency cores run most tasks while the high-performance cores activate for anything needing more power.

Qualcomm Hexagon 682 DSP

With the Hexagon wide Vector eXtensions (HVX), the Hexagon DSP excels at applications requiring heavy vector data processing, such as 6-DOF (or Degrees of Freedom) head motion tracking for virtual reality, image processing, and neural network computations. With a 1024-bit instruction word capability and dual execution of the control code processor and the computational code processor within the DSP, Hexagon can achieve breakthrough performance without draining system power.

Qualcomm Adreno 540 GPU

Ideal for arithmetic-heavy workloads that require substantial, parallel number crunching like 3D graphics rendering and camcorder image stabilization, the Adreno GPU is engineered to achieve improved power efficiency and 40% better performance than predecessors. Designed to deliver up to 25% faster graphics rendering and 60x more display colors compared to previous designs, the Adreno GPU supports real-life-quality visuals, and can perform stunning visual display feats like stitching together 4K 360 video in real time.

Heterogeneous computing in microarchitecture design

Beyond the performance enhancements among the individual processors, the Snapdragon mobile platform was designed to optimize the use of the processors together. For example, the Hexagon DSP can bypass DDR memory and the associated data shuffling CPU cycles by streaming data directly from sensors to the DSP cache. Similarly, the Adreno GPU supports 64-bit virtual addressing, allowing for shared virtual memory (SVM) and efficient co-processing with the Kryo CPU. These are just two of the microarchitecture design choices in the Snapdragon mobile platform that make it cutting-edge for heterogeneous computing.

Software

As we noted at the beginning of this post, heterogeneous computing is also a technique. And to truly support heterogeneous computing requires a software stack that provides developers the abstractions and the control to leverage the optimizations in the hardware per the requirements of their application.

To program the DSP or the GPU for heterogeneous computation, and to maximize their performance, developers can use the Qualcomm Hexagon SDK and the Qualcomm Adreno SDK, respectively. These SDKs open a toolbox of controls allowing for precision manipulation of data and computational resources.

For system-wide heterogeneous computing control, Qualcomm Symphony system manager SDK provides the software utilities designed to achieve better performance and lower power consumption from the Snapdragon mobile platform. Symphony is designed to manage the entire platform in different configurations so that the most efficient and effective combination of processors and specialized cores are chosen to get the job done as quickly as possible, with minimal power consumption.

On top of these SDKs it is possible for developers to build their applications directly – many developers opt for this route. However, there is a growing ecosystem of SDKs, frameworks and supporting libraries for accelerating development within a given application domain. Two examples of this are QDN's Adreno SDK for Vulkan for the Vulkan graphics API and our recently released Snapdragon VR SDK.

How to Put Heterogeneous Computing Techniques into Practice with Tools from Qualcomm Developer Network

Take advantage of the heterogeneous computing microarchitecture and software tools to get the most performance for your application using the Snapdragon mobile platform.

The Snapdragon mobile platform’s microarchitecture, software development kits and high-level frameworks layer upon each other to provide developers ultimate control of their application performance and power usage. This combination of hardware purposely designed for heterogeneous computing and software allowing the use of heterogeneous computing techniques is at the heart of delivering great user experiences.

Whether you’re a developer that has always written code that executes serially and are interested in how to push more work to other processors, or whether you already have heterogeneous computing know-how and want to use it more effectively – perhaps wanting precise control over the dynamic distribution of your workloads – visit QDN for the resources you need to level up your heterogeneous computing skills.

 

Qualcomm Snapdragon, Qualcomm Kryo, Qualcomm Hexagon and Qualcomm Adreno are products of Qualcomm Technologies, Inc.

 

23 Mar 2017
OnQ

Meet Qualcomm Centriq—the latest member in Qualcomm Technologies’ expanding family of processors

So what’s in a name? A lot, actually. A name can be descriptive, evocative, abstract, or a composite of words. From a business perspective, your product’s name is one of the many things that sets it apart from the competition. But what elevates it in order of importance is that it’s often the first clue for your customers of what the spirit of your product is and what it can do.

Today, we are pleased to announce a new name to the Qualcomm Technologies roster of products: Qualcomm Centriq—a new family of SoC processors from Qualcomm Datacenter Technologies exclusively for the server market. The name was inspired by the all-important data center market which Qualcomm’s ARM V8 Server SoC will serve.

When will Qualcomm Centriq be available? Our first generation of Qualcomm Centriq processors are on track to sample production silicon before the end of this year, as stated by Qualcomm President Derek Aberle in February 2016. We look forward to bringing you more Qualcomm Centriq product details later this year.

In addition to selecting a server processor family name, we’re pleased to announce that Qualcomm Datacenter Technologies, Inc. has also been formed as a subsidiary of Qualcomm Technologies to aggressively pursue opportunities in the data center industry which, according to leading industry analyst research firms* as of February 2016, was forecasted SAM of $18B by 2020.

Qualcomm started out on our data center journey several years ago. Following is a snapshot of accomplishments thus far:

  • Announced to the street that Qualcomm is investing in data centers at our November 2014 analyst meeting
  • Began sampling ARMv8 custom 24-core server development platform in late 2015 to target customers and partners
  • Established several ecosystem relationships with hardware and software companies. To this end we announced strategic relationships with Xilinx to enable industry-leading heterogeneous computing solutions and with Mellanox to enable advanced, cost-effective connectivity platforms for data centers 
  • Established a joint venture with the People’s Government of Guizhou province to focus on the design, development and sale of advanced server chipset technology in China—a fast growing market which represents a significant growth area for data center solution providers
  • Established Cache Coherent Interconnect for Accelerators (CCIX) consortium—of which Qualcomm Technologies is a founding memberalong with other industry partners (with heterogeneous computing on the rise, having open compute and accelerator standards is important)

Stay tuned for more details about Qualcomm Centriq coming later this year.

*Source: IDC, Jul. ’14, Qct. ’14 and Gartner Jul. ’15 (server shipments); Combination of third party and internal estimates (SAM). Qualcomm Centriq is a product of Qualcomm Datacenter Technologies, Inc.

18 Aug 2016