AMD Speeds Up OpenCL on APUs with Latest SDK

AMD has just released an updated version of their APP SDK, bringing it up to version 2.5. This latest release features a number of performance enhancements designed to exploit the increased CPU to GPU bandwidth available in the company’s APUs, in some cases achieving effective data transfer rates as high as 15GB per second with the latest AMD A-Series APUs, per the press release.

“Improving performance and programmability on AMD platforms is a key initiative for us, and we work closely with developers to help us make the APU the best possible development platform,” said Manju Hegde, corporate vice president, AMD Fusion Experience Program. “With these latest SDK refinements, we are supporting continued growth of the ecosystem and building on the momentum generated by the successful AMD Fusion Developer Summit held in June of this year.”

Part of the performance improvements are made possible due to the fact that the CPU and GPU segments in an AMD A-Series APU share a common DDR3 memory pool, with the memory partitioned between the CPU and the GPU. Unlike a discrete GPU which must transfer data over PCI Express to the CPU, with an APU that data may be transferred more quickly between the CPU and the GPU as there is no longer a constraint imposed by PCIe.

With the AMD APP SDK 2.5, the company has introduced a zero copy transfer path for buffers defined by using standard OpenCL guidelines. In addition, the AMD APP SDK provides multi-GPU support on Windows platforms including support for APU plus discrete GPU configurations that enables compute performance scaling across multiple GPUs, as well as AMD PowerXpress technology support for APU plus discrete GPU configurations.

One of the common threads of the AMD Fusion Developer Summit was obviously heterogeneous computing and more easily developing applications that can seamlessly leverage the power of both the CPU and GPU resources available in a system. This latest AMD App SDK release takes the company a step closer to achieving some of the goals set forth at the summit.