Today the HSA foundation is releasing v1.0 of their spec coincidentally called HSA Specifications Release 1.0. It has been a long time, almost five years now, since SemiAccurate first heard about FSA/FSAIL, the precursor to HSA.
Officially the HSA foundation kicked off in June of 2012, almost a year after the tech was first talked about at AFDS 2011. At that time, Imagination, TI, and Mediatek all joined hands to sing the HSA model for CPU/GPU computing. In the intervening almost four years now, TI has dropped out of the SoC game but Qualcomm, Samsung, and LG have joined in, a fair trade by our accounting methods. Officially Microsoft isn’t a member but that is only on paper, public paper, behind the NDAs they are completely on board too.
Officially today there are three groups of releases the first of which is The HSA System Architecture Spec. As you might guess it comprises what a SoC designer needs to do to make an HSA compliant chunk of silicon. Since there are x86, ARM, and MIPS based vendors on board the HSA foundation at the highest level, it is a pretty safe bet that you will be able to purchase an HSA compatible SoC with your choice of ISAs in the near future.
Next up we have the HSA Programmers Reference Guide, a field guide to the various types of HSA programmers out there. These range from the Older Sandaled Greybeard to the Pimply Technical Institute Dropout, each with detailed prints hand drawn by experts in the field. You will be able to spot an HSA programmer miles away with this new guide. Long way to go for a joke, eh?
Seriously though the HSAPRG defines the virtual ISA for HSA programming and an output format for HSA compatible compilers for various languages. At the moment you have OpenCL 2.0, C++, Python, Java, OpenMP, not officially anything from Microsoft, plus a few more. In short the languages you use probably have a compiler out there that targets HSA from one vendor or other. Codeplay, Linaro, Multicore Ware, Canonical/Ubuntu, and Suse (Note: We aren’t counting them as Microsoft even though the line is less than paper-thin) are all on board so a tool you use is most likely there.
Last up we have the HSA Runtime Spec, this is the finalizer or related blob of code that makes things just work. It will of course be different for each architecture released but that is true for any code that directly targets hardware at this level. The runtime has all the hQ queues, memory management, and a few libraries that are unique to each architecture. Think of this as software plumbing.
The one thing lacking is talk of actual hardware, that is said to be coming later in 2015 but the compliance tests will be out in Q2. A few weeks ago, AMD said Carrizo was not HSA compliant because v1.0 wasn’t out to be compliant with, so you can probably guess what the first silicon to get the stamp is. Expect Qualcomm to join them in short order with the Snapdragon 820, a chip that should bring DSPs into the HSA world.
From here on out I would expect any ARM SoC that matters, most MIPS SoCs on the high-end, and all x86 chips but Intel to be HSA compliant. That should kick off a bunch of interesting software developments and hopefully a new paradigm or two.S|A