HSA Foundation: for Show or for Real?

by Patrick Moorhead   |   June 15th, 2012

I recently spent a few days at AMD’s Fusion Developer Summit in Seattle, Washington.  Among many of the announcements was one to introduce the HSA Foundation, an organization  currently including AMD, ARM,  Imagination, MediaTek, and Texas Instruments.  The HSA Foundation was announced to “make it easy to program for parallel computing.”  That sounds a bit like an oxymoron as parallel programming has been the realm of “ninja programmers” according to Adobe’s Chief Software Architect, Tom Malloy at AMD’s event.  Given today’s parallel programming challenge, lots of work needs to be done to make this happen, and in the case of the companies above, it comes in the form of a foundation.  I spent over 20 years planning, developing, and marketing products and when you first hear the word “foundation” or “consortium” it conjures up visions of very long and bureaucratic meetings where little gets done and there is a lot of infighting.  The fact is, some foundations are like that but some are extremely effective   like the Linux Foundation. So which path will the HSA Foundation go down?  Let’s drill in.

The Parallel/GPU Challenge

The first thing I must point out is that if CPUs and GPUs keep increasing compute performance at their current pace, the GPU will continue to maintain a raw compute performance advantage over the CPU, so it is very important that the theoretical performance is turned into a real advantage.  The first thing we must do is distinguish is between serial and parallel processing.  Don’t take these as absolutes, as both CPUs and GPUs can both run serially and in parallel.  Generally speaking, CPUs do a better job on serial, out of order code, and GPUs do a better job on parallel, in-order code.   I know there are 100′s of dependencies but work with me here.  This is why GPUs do so much better on games and CPUs do so well on things like pattern matching. The reality is, few tasks just use the CPU and few just use the GPU; both are required to work together and at the same level to get the parallel processing gains.  By working at the same level I mean getting the same access to memory, unlike today where the CPU really dictates who gets what and when.  A related problem today is that coding for the GPU is very difficult, given the state of the languages and tools.  The other challenge is the numbers of programmers who can write GPU versus CPU code.  According to IDC, over 10M CPU coders exist compared to 100K GPU coders.  Adobe calls GPU coders  ”ninja” developers because it is just so difficult, even with tools like OpenCL and CUDA given they are such low level languages.  That’s OK for markets like HPC (high performance computing) and workstations, but not for making tablet, phone and PC applications that could use development environments such as the Android SDK or even Apple’s XCode.  Net-net there are many challenges for a typical programmer to code an GPU-accelerated app for a phone, tablet, or a PC.

End User Problem/Opportunity

Without the need to solve an end user or business problem, any foundation is dead in the water.  Today NVIDIA  is using CUDA (C, C++, C#,), OpenCL, and OpenACC and AMD supports OpenCL to solve the most complex industrial workloads in existence.  As an example, NVIDIA simulated at their GTC developer conference what the galaxy would look like 3.8B years in the future.  Intel is using MIC, or Many Integrated Cores to tackle these huge tasks.  These technologies are for high-performance computing, not for phones, tablets or PCs. The HSA Foundation is focused on solving the next generation problems and uncovering opportunities in areas like the natural user interface with a multi-modal voice, touch and gesture inputs, bio-metric recognition for multi-modal security, augmented reality and managing all of the visual content at work and at home.  ARM also talked on-stage and in the Q&A about the power-savings they believed they could attain from a shared memory, parallel compute architecture, which surprised me.  Considering ARM powers almost 100% of today’s smartphones and tablets around the world, I want to highlight what they said.  Programming for these levels of apps at low power and enabling 100′s of thousands of programmers ultimately requires very simple tools which don’t exist today to create these apps.

The HSA Foundation Solution

The HSA Foundation goal, as stated above, was to ”make it easy to program for parallel computing.” What does this mean?  The HSA Foundation will agree on hardware and software standards.  That’s unique in that most initiatives are just focused on the hardware or the software.  The goal of the foundation is to literally bend the hardware to fit the software.  On the hardware side this first means agreement on the hardware architectural definition of the shared memory architecture between CPU and GPU.  This is required for the CPU and GPU to be at the same level and not be restricted by buses today like PCI Express.  The second version of that memory specification can be found here.  The software architecture spec and the programmer reference manual are still in the working group.  Ultimately, simple development environments like the Google Android SDK, Apple’s XCode and Microsoft’s Visual Studio would need to holistically support this to get the support of the more mainstream, non-ninja programmer.  This will be a multi-year effort and will need to be measured on a quarterly basis to really see the progress the foundation is making.

Foundations are Tricky

The HSA Foundation will encounter issues every other foundation encounters at one time in its life.  First is the challenge of founding members changing their minds or getting goal-misaligned.  This happens a lot where someone who joins stops buying into the premise of the group or staunchly believes it isn’t valuable anymore.  Typically that member stops contributing but could even become a drag on the initiative and needs to be voted off.  The good news is that today, AMD, ARM, TI, MediaTek and Imagination have a need as they all need to accelerate parallel processing.  The founding members need to make this work for their future businesses to be as successful as they would like. Second challenge is the foundation is missing key players in GPUs.  NVIDIA is the discrete GPU PC and GPU-compute market share leader, Intel is the PC integrated GPU market share leader, and Qualcomm is the smartphone GPU market share leader.  How far can the HSA Foundation get without them?  This will ultimately be up to guys like Microsoft, Google and Apple with their development environments.  One wild-card here is SOC companies with standard ARM licenses.  To get agreement on a shared memory architecture, the CPU portion of ARM SOC would need to be HSA-compliant too, which means that every standard ARM license derived product would be HSA-compliant.  If you had an ARM architecture license like Qualcomm has then it wouldn’t need to be HSA-compliant.  The third challenge is speed.  Committees are guaranteed to be slower than a partnership between two companies and obviously slower than one company.  I will be looking for quarterly updates on specifications, standards and tools.

For Show or for Real?

The HSA Foundation is definitely for real and formed to make a real difference.  The hardware is planned to be literally bent to fit the software, and that’s unique.  The founding members have a business and technical need, solving the problem means solving huge end user and business problems so there is demand, and the problem will be difficult to solve without many companies agreeing on an approach.  I believe over time, the foundation will need to get partial or full support from Intel, NVIDIA, and/or Qualcomm to make this initiative as successful as it will need to be to accelerate the benefits of parallel processing on the GPU.

 

 

Patrick Moorhead

Patrick Moorhead was ranked the #1 technology industry analyst by Apollo Research for the U.S. and EMEA in May, 2013.. He is President and Principal Analyst of Moor Insights & Strategy, a high tech analyst firm focused on the ecosystem intersections of the phone, tablet, PC, TV, datacenter and cloud. Moorhead departed AMD in 2011 where he served as Corporate Vice President and Corporate Fellow in the strategy group. There, he developed long-term strategies for mobile computing devices and personal computers. In his 11 years at AMD he also led product management, business planning, product marketing, regional marketing, channel marketing, and corporate marketing. Moorhead worked at Compaq Computer Corp. during their run to the #1 market share leader position in personal computers. Moorhead also served as an executive at AltaVista E-commerce during their peak and pioneered cost per click e-commerce models.
  • Pingback: AMD, ARM, others team up to take on Intel

  • http://www.nitroware.net/ NitroWare.net

    I just can’t see Intel seeing eye-to-eye with AMD and HSAF on this. I do not think I have ever heard Intel cry the merits of GPGPU even though the worlds best GPUs work BEST with THEIR platform. INTC has always been about ‘look how elegant our engineering is, we can overcome any obstacle using our brillance’ eg security,video encoding and USB3. OpenCL seemed to be considered as an auxiliary feature.

    At the 3rd gen launch I attended OpenCL was verbally mentioned but no direct demo was provided. The only demo that was provided was PowerDVD rendering 9 or 12 video thumbnails live just as in the WWDC keynote and that toolk equally uses OpenCL and DXVA/WMF.

    Whenever Intel has had to resort to third party solutions these were never highlighted such as SATA, Wi-FI or USB3 controllers on their products especially if they conflict with the companies own IP.

    The most recent news is Intel’s mobile division is still insisting on the merits of Medfield’s single core and the disadvantages of the software platform they are using with their hardware.

    Inel is more platform neutral than any company (they support WIndows, Linux, Unix, MacOS and RTOS) but many topics are their way or the highway. They will create industry bodies rather than join them late in the game.

    As for NVIDIA I can see them supporting a GPU standard as after all they do support OpenCL, OpenGL and DirectX as do AMD and both firms conribute to technical standards but I can’t see how they will go about it as it conflicts with their goals as being #1 in GPU compute and professional graphics with their marketing teams going overboard to make sure the industry is aware what brands use their professional products.

    Whns the last time AMD boasted about its wins? Troublemaker studios and Codemasters thats about it right?

    They are fixated on CUDA as the middleware to their platforms. If they depreicate CUDA in favour of how the competitor does things they are basically saying ‘we give up, we can do the same thing our competitor does, it is up to you to choose which you want red or green’ and I do not see them doing that.

    In the old days we had many GPU makers who all used he same standards as there was little to diffeerntate, all the properitary standards fell by the wayside over the years.

    Given Qualcomm’s devices are ‘interchangeable’ on some handsets eg SGSIII and OneXL it would make sense for them to adopt HSA as otherwise if they become incompatible. Vendors may not be willing to accomdate their SoC into their hardware and software designs which have been optimised for HSA.

    The question is will Apple get on board? Theres pros and cons for them to do so. They became members of the blu-ray forum and nothing became of that.