Developers getting more help with heterogenous processors
The HSA Foundation is promoting specs to ease programming for SOCs
By James Niccolai
An effort to help developers get the most out of heterogeneous processors inched forward this week, promising to improve performance and reduce power consumption in applications for smartphones all the way up to high-performance computers.
Imagination Technologies, which designs the PowerVR graphics chips used in the iPhone as well as MIPS CPUs, said it would release its first products next year that comply with a set of specifications called the Heterogeneous Systems Architecture.
Chip companies ARM and MediaTek also said they’re working on HSA products, though they didn’t give a timeframe. They’ll join AMD, which released the very first HSA-compliant product earlier this year, its Carrizo processor.
HSA should make it easier for developers to write programs that can take advantage of the numerous compute elements in modern SOCs (systems on chip), including CPUs, GPUs and DSPs (digital signal processors), said Jim Nicholas, head of Imagination’s MIPS operations, at the Linley Group Processor Conference in Silicon Valley this week.
GPUs, for example, often are more power-efficient than CPUs for workloads that can be broken up and processed in parallel. Examples include processing a smartphone image to apply a filter or reduce noise, as well as applications for facial and object recognition.
But while developers are starting to learn the benefits of GPU computing, there are no standard programming models to make it easy for them. That’s part of what HSA aims to address.
“The issue is, if you want to use a GPU or accelerators to do compute – if you’re using anything but the CPU — it’s very hard to program for,” said Patrick Moorhead, principal analyst at Moor Insights & Strategy.
Big companies like Apple and Facebook have “ninja programmers” that know how to do that kind of work, he said, but most companies don’t.
A big part of the problem is understanding how different parts of an SOC access and share memory. If developers don’t know how a memory subsystem is mapped out, they end up storing the same data in more than one place on the chip.
“Tasks can migrate between the CPU and the GPU today, but there’s the overhead associated with copying data sets. With HSA, the requirement to copy the data set is eliminated,” said Jen Bernier-Santarini, director of technology communications at Imagination.
With chips built to the HSA specs, “the GPU and CPU use the same memory map and can pass pointers to the data rather than copying the entire data set. This leads to more efficiency and less data movement, ultimately leading to more performance and lower power,” she said.
To enable that, chip makers need to design products that conform to the specifications, which is why this week’s announcements are important.
Imagination said it will eventually support HSA across all of its PowerVR GPUs, as well as its I-class and P-class MIPS CPUs. It will also offer an HSA-compliant fabric to link SOC components together.
It’s not just mobile gadgets that can benefit. HPC applications for drug and disease research, as well as deep learning applications, will also benefit from HSA, said AMD’s Greg Stoner, who’s also managing director of the HSA Foundation.
The goal is for programmers to be able to continue using their preferred languages, he said, like Python, C++ and OpenCL.
One hurdle is getting support for HSA in operating systems. The Linux kernel already supports some HSA features, Moorhead said, but other platforms still need to come on board, including Android and Windows.