ANAHEIM, CA (SIGGRAPH 2013) July 24, 2013 - When I told fellow reporters I had a 1PM heterogeneous computing seminar, they looked at me at pity. I should have told them it was because HSA is as important as other obscure acronyms, like OpenGL ES, if they become common in our industry. I should have told them they should go, too.
Nearly all computers contain two types of processors, two or four CPUs (to run the operating systems and programs) and hundreds of thousands of GPUs to display graphics. In Intel chips, both are on a single chip; smartphones and tablets have SOCs, "systems on a chip," where both are there, along with other functions like DSPs (digital signal processors). for instance, games use CPUs for game play and GPUs only for visual effects.
Phil Rogers of HSA discusses "riding both" CPUs and GPUs at SIGGRAPH 1013
Phil Rogers heads up the foundation and in his day job works for AMD. At this HSA seminar, he is telling us that the CPU is overused and can no longer scale; GPUs and other functions are under utilized. But it is not easy to use both, because CPUs work best with sequential instructions while GPUs are best at parallel instructions. HSA provides an API to "ride both," as Mr Rogers put it. For mobile devices, using GPUs is exciting, because they are much more power efficient than CPUs.
At this point, the talk became very technical, as Mr Rogers listed functions of the API like unified addressing across all processors, visibility ordering, and bidirectional memory coherency. He emphasized that HSA is not an alternative to OpenCL but runs with it. Pretty much every company involved in graphics and mobile devices is a member of the HSA Foundation, with the notable exception of Apple. The API is free, documented, and still being worked on. In addition, a high-level language is being finalized under the same of HSAIL (short for "HSA intermediate layer"), a low-level abstraction layer; it supports Java, C++, and OpenMP.
Comments