SAN JOSE, Calif. — Engineers got their first public look at work-in-progress on an open specification for programming processors using a variety of different kinds of cores. The Heterogeneous Systems Architecture Foundation (HSA) gave a half-day tutorial at the Hot Chips conference here on a set of specs it aims to release in mid-2014.
The HSA specs initially aim to let graphics cores act as equal citizens on an SoC with host processor cores, sharing features such as a common pool of coherent memory. They will evolve to include other kinds of cores such as DSPs, codecs, DMA engines, and other accelerators in the future.
Advanced Micro Devices led the formation of HSA, whose members now include Imagination Technologies, ARM, and a number of ARM's licensees such as Marvell, Mediatek, Qualcomm, Samsung, and Texas Instruments. The group's goal is to create a standard that informs both the way chip vendors make their SoCs and how software engineers program them.
At Hot Chips, HSA members described their current work defining a virtual instruction set architecture that's agnostic to any vendor's ISA and optimized for parallel programming. They also described work on memory and queuing models that seek to be compatible with evolving work on C++, Java, and Microsoft's .Net. The group did not describe its specifications for runtime software or tools, which are still in an early stage of development.
In general, HSA expects to define a unified addressing scheme across all processor cores supporting memory coherence as well as operations into a pageable system memory. It also will provide high-level language support for GPU compute processors, including preemption and context switching.
Specifically, HSA aims to deliver an open-source software stack for Linux that will optimize general-purpose graphics (GP-GPU) programs written in the higher-level OpenCL language, reducing memory copies and thus latency. So far, the group has created a library of parallel-programming primitives called Bolt and a general programmer's reference model. In addition, HSA software will work in tandem with an effort to integrate GP-GPU features into Java 9, set for release in 2015.
So far two key vendors have opted not to join the group -- Intel and Nvidia. Earlier this year, some industry observers complained the industry has yet to come to consensus on programming models for multicore SoCs. That's in part because operating systems vendors such as Apple, Google, and Microsoft seem to be taking different directions, they said.
For its part, Nvidia has been heavily promoting its own programming environment called Cuda. It has supported Cuda's use in many universities, a key community the HSA group has just started to cultivate with 10 academic members. In an interview earlier this year, Nvidia's CTO pooh-poohed the need for GPU cores to share coherent memory with CPU cores.
"It's good for the industry, apps developers, and end users to have open standards," said Phil Rodgers, president of HSA and an AMD fellow. "Hardware companies should compete on performance, power, and features and not have multiple equivalent ways of doing the same thing -- that doesn't benefit anyone."
HSA claims its software will deliver superior performance on parallel GPU operations for fewer lines of code (LOC) than the alternatives.
Click here to enlarge.