As the sessions on the first day of AMD’s AFDS 2012 kicked off on Monday afternoon, I decided to try and get a feel for the tools that AMD is giving to developers. To this end I attended an introductory course on AMD’s developer tools. The big announcement from this session was a new unified profiling and debugging tool for both AMD’s CPUs and GPUs, called CodeXL.
In its simplest form AMD’s CodeXL brings together AMD’s GPU compute tools and AMD’s CPU compute tools to enable faster and more robust development of OpenCL and GPU accelerated applications. CodeXL does not replace AMD traditional tools for CPU specific applications or for GPU rendering application, it’s aimed purely at reducing the difficulty involved in Heterogeneous application development.
One of the biggest features of AMD’s CodeXL is support for both OpenGL and OpenCL debugging. It also includes tools for doing both CPU and GPU code profiling. AMD demonstrated some of these capabilities during their presentation with a small bit of test code that displayed a somewhat comical picture of a cat with a filter effect applied.
AMD told us that CodeXL will be hitting the market place in three versions. This first version will be a plug-in, or add-on to Microsoft’s Visual Studio. The second version of AMD CodeXL will be a stand alone software package for the Windows platform. And the third version is another stand alone package, but this time it’s for Linux environments. The CodeXL version that AMD demoed during this session was a plug-in for Visual Studio 2010, additionally AMD is promising support for newer versions of Visual Studio as well.
AMD was very upfront about the amount of resources that they’ve invested in the Linux based version of their CodeXL software. As an example of their commitment, they promised that Linux version would have the same UI, and almost all of the functionality, that the Windows based version offered. They also continually reiterated throughout the presentation that they had invested a lot of time into building the Linux version of this application.
Hopefully this investment on AMD’s part will play to its advantage in HPC environments. One of the reasons AMD listed for the creation of its CodeXL software was the potential performance benefit of using both the CPU and the GPU for compute tasks. In the case of WinZip’s OpenCL accelerated compression algorithm, AMD quoted a 135 percent performance improvement over the CPU only algorithm.
The Q&A part of the session brought up a number of interesting points. One of the audience members noted that the debugging performance and fluidity of AMD’s demo seemed to be a bit slow, of course Mr. Shapira responded by suggesting the it was actually rather fast, and then promising the final version would offering even quicker debugging. Another person asked whether CodeXL would offer support for both traditional desktop apps and Windows 8 based “Metro” applications. As it turns out AMD is not supporting Metro apps at all with its CodeXL tool suite, and only desktop based application will be supported.
Yet another audience member brought up the issue of non-AMD (Read: Intel and Nvidia) platform compatibility, to which AMD respond that they were not actively going to block profiling or debugging other vendors hardware with their free tools, but that they weren’t going to go out of their way to support other venders hardware either.
So all in all the announcement of AMD’s CodeXL tool is major step forward for AMD’s software developer initiatives. CodeXL brings the CPU side and GPU side of AMD hardware base under the same roof for the purposes of code profiling and debugging, and does it in a multi-platform conscious manner. To AMD’s credit, in the year since the inaugural AFDS, they’ve really started to build a truly meaningful software ecosystem around their APUs; and CodeXL is another integral part of that initiative. Expect more coverage on this topic when the CodeXL beta goes live in a few weeks.S|A