We have been talking about the HSA foundation since 2013, a cooperative effort by AMD, ARM, Imagination, Samsung, Qualcomm, MediaTek and TI to design a heterogeneous memory architecture to allow GPUs, DSPs and CPUs to all directly access the same physical memory. The release of the official specifications today are a huge step forward for these companies, especially for garnering future mobile market share as physical hardware apart from Carrizo becomes available.
Programmers will be able to use C, C++, Fortran, Java, and Python to write HSA-compliant code which is then compiled into HSAIL (Heterogeneous System Architecture Intermediate Language) and from there to the actual binary executables which will run on your devices. HSA currently supports x86 and x64 and there are Linux kernel patches available for those who develop on that OS. Intel and NVIDIA are not involved in this project at all, they have chosen their own solutions for mobile devices and while Intel certainly has pockets deep enough to experiment NVIDIA might not. We shall soon see if Pascal and improvements Maxwell's performance and efficiency through future generations can compete with the benefits of HSA.
The current problem is of course hardware, Bald Eagle and Carrizo are scheduled to arrive on the market soon but currently they are not available. Sea Islands GPUs and Kaveri have some HSA enhancements but with limited hardware to work with it will be hard to convince developers to focus on programming HSA optimized applications. The release of the official specs today is a great first step; if you prefer an overview to reading through the official documents The Register has a good article right here.
"The HSA Foundation today officially published version 1.0 of its Heterogeneous System Architecture specification, which (if we were being flippant) describes how GPUs, DSPs and CPUs can share the same physical memory and pass pointers between each other. (A provisional 1.0 version went live in August 2014.)"
Here is some more Tech News from around the web:
- Droidberry dangles: Why the BlackBerry-Samsung alliance is big potatoes @ The Register
- BlackBerry: FREAK SSL bug affects BES, BBM and BlackBerry smartphones @ The Inquirer
- Apple will pay you to ditch your Android or BlackBerry smartphone @ The Inquirer
- Ext4 Filesystem Improvements to Address Scaling Challenges @ Linux.com
- Microsoft gives EMET divine powers to repel God Mode attack @ The Register
- Microsoft RE-BORKS Windows 7 patch after reboot loop horror @ The Register
- Fujitsu Could Help Smartphone Chips Run Cooler @ Slashdot
- Gigabyte announces financial results for 2014 @ DigiTimes
- 3D Audio Standard Released @ Slashdot
- NikKTech And Nanoxia Spring Break EU Giveaway
Fortran…really, now. Oh
Fortran…really, now. Oh wow.
There is a lot of scientific
There is a lot of scientific code base still in Fortran, so Fortran conversion is still needed!
Does DSP stand for Digital
Does DSP stand for Digital Sound Processing? as in Audio Production or something else?
Digital signal processor.
Digital signal processor. could be sound, could be electro-magnetic. Analog to digital, and Digital to Analog.
I’ll guess if someone is
I’ll guess if someone is using the Vulkan API/SPIR-V IL the HSA folks will have a HSAIL(Heterogeneous System Architecture Intermediate Language) to SPIR-V IL conversion layer to be able to utilize the Vulkan APIs on any hardware that utilizes/offers the Khronos groups new graphics/GPGPU API standard. It looks like the SPIR-V IL and LLVM, is providing the same Functionality as the HSAIL and its LLVM, as purposed by the HSA foundation.
I do like the ability of HSAIL to include DSP hardware, but Khronos could do the same for SPIR-V IL. Maybe Intel and Nvidia will use/offer the Khronos groups cross platform Vulkan standard of HSA(OpenCL, OpenGL) workloads, but it would be very easy to provide a conversion between the two LLVM based ILs. The Khronos group has been around for longer than the HSA foundation, so maybe they could form a joint committee to combine their efforts with regards to just what IL, and LLVM standard will see wider adoption, but I can see both existing side by side with not too much problems, via conversion layers. For sure Intel, and Nvidia egos will get in the way of any rapid adoption of HSA foundation HSA standards, but the Khronos groups Vulkan is just as much HSA as any others HSA, and HSA and its design principals have been in use for decades in the HPC/supercomputing fields.
For sure these things we call GPUs have been utilized for many decades in supercomputers under the moniker Vector Processor, although the modern GPUs have even more dedicated functional blocks tuned towards graphics, they are still relatively the same. HSA really just means the ability to utilize different processors for both graphics and compute regardless of the original purpose of the processor’s computing hardware. Also DSPs are specialized processors, but with a proper software abstraction layers they could be utilized for different computing workloads also, it’s all mostly ones and zeros, and FP and Integer, etc. units anyways.