While AMD's official news channels may often focus on the PC box-shifting side of the IT trade, the firm's technical blogs this week speak of more interesting happenings relating to the release of the public beta for AMD Code XL.
Described as the first unified developer tool suite for heterogeneous compute tasks, AMD CodeXL champions productivity and promotes open standards. When companies like AMD repeatedly use the term "productivity" there is often a danger of marketing/branding spin clouding the news. In this case, there appears to be real toolset improvements designed to increase developer productivity by enabling users to identify performance issues and programming errors in their applications, without requiring source code modifications.
NOTE: The first version includes a GPU debugger, CPU and GPU profilers, and a static GPU performance analyzer — all of this is available as a Visual Studio plugin and as standalone application on Windows and Linux. Other platforms will follow.
AMD product management manager Milind Kukanur confirms that since the initial preview in June, the firm has been working closely with developer partners and ISVs to run AMD CodeXL through its paces.
"We believe AMD CodeXL is a key stepping stone to developing truly powerful heterogeneous compute applications that harness AMD's platform innovations. Developers are enabled to quickly and easily debug, profile, and analyze their applications and achieve maximum performance on AMD APUs, GPUs, and CPUs. In the near future, we plan to add support for heterogeneous system architecture (HSA) as it is a key part of our commitment to provide complete HSA solutions. Delivering a high-quality tool that becomes indispensable and a core part of your development is always important to us," said Kukanur.
GPU Debugger — provides debugging on AMD APUs/GPUs with OpenCL, OpenGL API calls, and OpenCL kernels. It allows developers to step through real-time OpenCL kernels from API calls, put breakpoints and debug inside the kernel, view all variable values, and track API call histories — all on a single computer with a single GPU.
CPU Profiler — a profiling suite that helps you to identify, investigate, and tune application performance on AMD CPUs. It finds time-critical hotspots in your code precisely with time-based, event-based, and instruction-based sampling, and also allows you to narrow profiling to single process and capture profiling data for OpenCL codes running on the CPU.
GPU Profiler — a complete GPU profiler that developers can use to discover bottlenecks in your OpenCL and DirectCompute applications and find ways to improve performance on AMD APUs/GPUs. It collects and visualizes GPU counter data, application trace, kernel occupancy, and hotspot analysis, with timeline and summary views of host, kernel, and data transfers in between.
Static Analyzer — a utility to analyze your OpenCL application statically, without having to run on the actual hardware. It enables developers to compile, analyze, and disassemble your OpenCL code, estimate accurate performance of kernels, and view disassembly of the generated hardware kernel.