AMD is looking to the embedded space for growth, and it focusses on a number of distinct embedded sectors; digital signage, medical imaging, gaming, thin clients, networking – and industrial controls/automation. This R-series introduction targets, in particular, the gaming sector along with industrial automation, and medical imaging.
The HSA aims to “unlock the GPU for embedded computing”. The many-core structure of the GPU has been available to embedded designers for some time, using the “GPGPU” approach – general purpose [computing using] the GPU. Previously, the GPU operated as a slave to the CPU, with tasks – that the programmer identified as having parallel attributes – for the GPU queued for it by the CPU, and each has its own memory space. In the HSA implementation the two cores have equal status, and can work together in a shared memory space. “Multiple compute tasks can work on the same coherent memory regions, utilizing barriers and atomic memory operations as needed to maintain data synchronization (just as multi-core CPUs do today),” – as AMD puts it. The program flow can move tasks – parallel or serial – to the most appropriate processing element, and the task does not have to move from memory space to memory space.
Asked about the implications for programming, an AMD spokesman said that code tool support will be updated accordingly and that while knowledge of, for example, OpenCL will continue to be useful in programming the chips, the objective is to open up the power of the product range to design teams that are not heavily graphics-oriented. “Think serial/parallel rather than CPU/graphics,” he added, also noting that there are many networking tasks that exhibit a high degree of parallelism. You will be able to include C++ code in a mixed-compilation flow and create a parallel implementation.
The second generation embedded R-series Accelerated Processing Unit (APU) (codenamed “Bald Eagle”) has multiple (up to four) x86 cores plus GPU; it supports 4k graphics and up to four separate displays. Alongside AMD’s “Steamroller” CPU architecture is the AMD Radeon HD 9000-series GPU architecture that supports Microsoft DirectX 11.1, OpenGL 4.2 and OpenCL all within a 35W power envelope. (35W is for the quad-core version; a dual-x86-core device will have a 17W power envelope.)
Further added features include DDR3-2133 and ECC memory support, along with PCI Express Gen 2 and Gen 3 support. AMD has been working closely with RAD Game Tools making RAD’s industry standard (in the gaming/casino are) Bink 2 video codec work flawlessly on AMD R-series APUs.
The second generation embedded R-series APUs support Microsoft Windows and Linux, with Microsoft DirectX 11.1 and OpenGL 4.3 supported, along with OpenCL, giving developers access to computation power of the Radeon HD 9000-series GPU. This means whether applications run on Windows or Linux, R-series APUs will run them.