For questions, comments, discussion and news updates about HSA, please see the forum thread in AMD General [LINK]
At a time when cracks are appearing in Moore’s Law and the costs of shrinking fab processes continue to skyrocket, an industry that wants to keep accelerating compute capabilities must turn increasingly to optimizing efficiency. Ultimately, this is what GPGPU and HSA enable. By old methods, how much would a CPU need to evolve in order to facilitate a 5x performance gain? Now, such gains are possible simply through hardware and software vendors adopting an end-to-end platform such as HSA. No pushing the envelope of lithography physics. No new multi-billion-dollar factories. Just more efficient utilization of the technologies already on the table. And through that, the world of computing can take a quantum leap forward.
From Tom's Hardware: AMD Fusion: How It Started, Where It’s Going, And What It Means
HSA in one sentence
- HSA will eventually enable applications of all kinds to provide superior performance and power efficiency while being easy and inexpensive to develop.
What is "HSA"?
- HSA is a short term for "Heterogenuous Systems Architecture". It is not something that is easy to describe because it is sort of both a software and a hardware thing. I'll do my best in the next few points.
- How AMD describes HSA: The Heterogeneous System Architecture (HSA) provides a unified view of fundamental computing elements. HSA allows a programmer to write applications that seamlessly integrate CPUs (called latency compute units) with GPUs (called throughput compute units), while benefiting from the best attributes of each.
- How I describe HSA: HSA is an integration that creates a compromise between traditional CPU-based coding and GPGPU coding. Traditional CPU coding (i.e. x86, C++, etc) is easier, less costly, and less time consuming while GPGPU coding is far more efficient but it is not common because it is limited, more difficult, costly and time consuming. Full HSA (which incorporates hUMA, which means heterogenuous unified memory architecture) is a combination of both. Its application is a variant of GPGPU (general purpose GPU) processing in which some functions of applications are coded to take advantage of the better performance & power efficiency that the GPU can provide in some scenarios, but it retains the ease and flexibility of coding for the traditional CPU.
- HSA is an open standard that can be applied to any hardware designed and enabled for it. This means that everything from computer servers to desktop or laptop systems to even smartphones and tablets can advantage with HSA. ARM processors could possibly be designed for HSA and HSA implemented in ARM coding (i.e. Android apps).
- HSA is a totally different and new direction because AMD may be the first processor company to have made such significant investment primarily to improve ease of programming.
What is the goal of HSA?
- AMD description: The essence of the HSA strategy is to create a single unified programming platform providing a strong foundation for the development of languages, frameworks, and applications that exploit parallelism.
- Full HSA will enable the creation of programs that cost less and take less time to develop, and provide more performance while using less power on HSA-enabled hardware.
- With HSA, hardware integration benefits software result. HSA relies on a series of hardware specifics in the design (integrating CPU and GPU in one package or APU, hUMA/fully shared memory) and enables new component integration opportunities (i.e. the on-board ARM Cortex A5 core for security) in order to enable a level of software optimization that is powerful, efficient, easy to code, and secure.
- Fundamentally and unofficially, The goal of HSA is to revolutionize modern computing.
Components of full HSA
- Integrating the CPU and GPU into one package - now known as the APU (accelerated processing unit)
- New coding libraries and tools for developers - now released as: CodeXL unified developer tool suite; AMD Bolt and the AMD Accelerated Parallel Processing (APP) SDK
- Using a new shared memory interface (hUMA - heterogenuous unified memory architecture) to maximize these development libraries and tools - to be introduced with Kaveri APU in late 2013
Why is HSA so "revolutionary"
- HSA is very innovative because aside from the benefits it will provide, it has been designed to succeed from the start. As mentioned, one of the key points that can be made from HSA is that optimization for HSA is going to be easy to code - this is because of the hardware optimizations AMD can make in their APUs. Traditional programming for OpenCL and CUDA to enable apps to take advantage of the GPU has provided the same kind of benefits HSA will provide for quite awhile, but coding to take advantage of OpenCL and CUDA is difficult, time-consuming, and costly.
- Coding for HSA optimization will be almost as easy and as quick as coding traditionally while giving the same performance and efficiency provided by the more complex GPGPU coding methods available today. This means that HSA can be easily adopted by developers.
What HSA means
- AMD saves billions of dollars in hardware research & devleopment costs because HSA makes those investments obsolete
- Because HSA is an AMD-exclusive advantage, AMD will reap the benefits in its business and move towards becoming a larger, stronger company
- AMD will not need to offer CPU-only parts, which may mean the end of Socket AM3+
- AMD will not have a performance or price tier that traditionally we would consider to be "high end" (i.e. all products will be APUs)
for the competition
- So far, HSA will initially only be possible with AMD and their APUs. This is why the development of HSA has taken so long and why (as of Sep 2012) there are no solutions on the market offering HSA compatibility.
- AMD has exclusivity because HSA requires a specific level of integration that AMD has been preparing by designing its APUs a certain way. Intel's "APUs" do not follow the same design principles. For example: the average user might notice that the Llano and Trinity APUs are very bandwidth intensive and require fast RAM to get better performance. This is actually because on AMD APUs, CPU & GPU communication is done via main memory. Llano and Trinity APUs accomplish a partial integration of this and the Kaveri APU which introduces HSA will feature true address-space sharing between CPU & GPU to enable HSA.
- Samsung, who has joined AMD's HSA foundation (a foundation to promote HSA), may be interested in designing its next Exynos ARM chips to integrate with an HSA standard on ARM. [SEE LINK] This will give Samsung a huge advantage over other ARM chip manufacturers.
- Competing companies such as Intel and Nvidia will fall behind until they can introduce a competing solution. Intel might have this in 2015 with the Skylake CPU integrating components of the previous "Larabee" project but this is a totally different concept.
- The advent of Socket FM2/Kaveri APU with HSA will basically render every other current-socket Intel and AMD CPU-only part obsolete. All those new hardware innovations Intel is spending billions on... the 14nm, the 2x graphics performance with Haswell, the 22nm Atom, none of them are going to amount to anything close to what HSA will amount to (not that companies will stop innovating in that sector).
- Attaining high performance will be far less expensive.
- The prices of technology will go down significantly.
- A total revolution in the way we build and choose parts for our PCs.
- "IPC" will cease to exist in our discussions and comparisons.
- We are probably going to make less recommendations for Intel PCs.
- Technology access is cheaper for everyone (since performance does not require expensive parts)
- More productivity (people can get more performance and get things done faster for far less money)
- Environmental benefits (PCs worldwide will be providing the same performance while using less power)
- More programs and more things we can use our computers for
- Lowered cost of software in addition to hardware
- More mobility - Mobile devices get longer battery life
When will we start seeing the benefits of full HSA?
- We can! AMD has enabled HSA benefits in its 2014 "Kaveri APU" product, which takes advantage of full HSA where software supports it.
- Many components of AMD's HSA (basic APUs and HSA software development tools) were previously released.
- Obviously AMD is going to need a repository of HSA-enabled apps. This can be expected to come quickly because HSA optimization is easy to code, and because AMD has already attained a lot of partners in the software industry by promoting and creating partnerships through its HSA foundation. The software development libraries are already out and ready to use.
HSA Benchmark Results
Confirmed fully HSA enabled apps
For reference and further reading
- AMD HSA White Paper document
- [AnandTech] Heterogeneous and GPU Compute with AMD’s Manju Hegde (this is probably the best read for more specific info about HSA and how it works)
- [PDF] Document on AMD's HSA
- [Tom's] AMD Fusion: How It Started, Where It's Going, and What It Means
- Researchers boost processor performance by getting CPU and GPU to collaborate (pre-HSA; this research was sponsored by AMD)
In the meantime, if you have any more questions, post in the thread! [LINK] I am there to find answers for you about HSA.