AMD CodeXL 1.2 GA Release Notes

Thank you for using CodeXL. We appreciate any feedback you have! Please use our CodeXL Forum to provide your feedback.

You can also check out the Getting Started guide on the CodeXL Web Page and the latest CodeXL blog at AMD Developer Central - Blogs

This version contains:

 CodeXL Visual Studio 2012 and 2010 packages and Standalone application, for 32-bit and 64-bit Windows platforms  CodeXL for 64-bit platforms  Kernel Analyzer v2 for both Windows and Linux platforms

Note about 32-bit Windows CodeXL 1.2 Upgrade Error On 32-bit Windows platforms, upgrading from CodeXL 1.0 using the CodeXL 1.2 installer will remove the previous version and then display an error message without installing CodeXL 1.2.

The recommended method is to uninstall previous CodeXL before installing CodeXL 1.2.

If you ran the 1.2 installer to upgrade a previous installation and encountered the error mentioned above, ignore the error and run the installer again to install CodeXL 1.2.

Note about installing CodeAnalyst after installing CodeXL for Windows CodeXL can be safely installed on a Windows station where AMD CodeAnalyst is already installed. However, do not install CodeAnalyst on a Windows station already installed with CodeXL. Uninstall CodeXL first, and then install CodeAnalyst.

System Requirements CodeXL contains a host of development features with varying system requirements:

 GPU Profiling and OpenCL Kernel Debugging o An AMD GPU ( HD 5xxx or newer, desktop or mobile version) or APU is required o The AMD Catalyst Driver must be installed, release 13.6 Beta or later. Catalyst Beta 13.6 is the recommended version. See ‘Getting the latest Catalyst release’ section below.  For GPU API-Level Debugging, a working OpenCL/OpenGL configuration is required (AMD or other).  CPU Profiling o Time Based Profiling can be performed on any or AMD64 (x86-64) CPU/APU. o The Event Based Profiling (EBP) and Instruction Based Sampling (IBS) session types require an AMD CPU or APU processor.

Supported platforms:

 Windows platforms o Windows 7, 8 and 8.1, 32-bit and 64-bit o Visual Studio 2010/2012 must be installed on the station before the CodeXL Visual Studio 2010/2012 Package is installed, respectively. o If Visual Studio 2010 is not installed, the VC++ 2010 x86 Redistributable package must be installed for CPU Profiling Source View of .NET applications to work.  Linux platforms o Red Hat EL 6 u2 64-bit o Ubuntu 12.04 64-bit

Getting the latest Catalyst release The way to get the latest beta driver is to use the links ‘Latest Windows Beta Driver’ and ‘Latest Linux Beta Driver’ on the Graphics Drivers support page: http://support.amd.com/us/gpudownload/Pages/index.aspx

New in this version The following items are new in this version:

 Support for Windows 8.1, 32 and 64 bit.  The CPU Profiler has a number of improved capabilities including: o A new user interface design to help ease navigation and use of key features o Support for profiling of Java/.NET applications o Support for Time-Based Profiling on Win8 platforms o Support for AMD’s recently announced Kabini APU public registers  The Kernel Analyzer now has a new analysis module for Southern Islands devices that performs emulation of kernel workloads  We’ve also updated the AMD CodeXL tutorial to help familiarize you with all of the above.  A load of bug fixes.  User experience enhancements: o CodeXL Explorer tree is rearranged to display CPU and GPU profile sessions view-specific details for easy navigation between session views. o CodeXL has a new icon!

Fixed Issues The following fixes were not part of the 1.1 release and are new to this version:

 CPU Profiling is disabled on Windows 8 and Windows Server 2012 platforms running on non- AMD CPUs. (385105)  Program crashes at clBuildProgram when compiling a IL program used in CodeXL on Windows 8- 32 bit (382266) – fixed in Catalyst 13.4  Locals not showing Local memory variables properly (332624) – fixed in Catalyst 13.6  GPU Debugger Locals view shows constant numeric value 0x0000 for local memory variables although viewing local memory variables is unsupported (332624) – fixed in Catalyst 13.4  In CPU Profiling sessions of type Time-Based Profiling, wrong call stack info displayed - wrong parents/children (359247)  Segmentation Fault while closing CodeXL on Linux (366197) – fixed in Catalyst 13.6  "Failed to Profile" error on collecting GPU Profiling application trace for teapot sample (366962)  Segmentation Fault on launching CodeXL on Linux using putty/xming (367512) – fixed in Catalyst 13.6  CPU Profiling Call Graph view shows invalid samples on Red Hat (368631)  CPU Profiling "Pause" option is not working for the second running instance of CodeXL (370991)  During GPU Profiling the TransferOverlapCPP sample stops working for counter session (371119)  CodeXL stops responding while importing large atp file on Windows 8 (376470)  System hang while GPU profiling with navigation to source code option enabled on Linux (376736) – fixed in Catalyst 13.6  CPU Profiling using System-wide profile shows a lot of “Unknown module pid” (377779)  On KDE platform, CodeXL "Help/View Quick Start guide/AMD CodeXL support forum" fails to open. (380998)  On Linux KernelAnalyzer, ISA is not generated after building kernel for Hainan GPU (382074) – fixed in Catalyst 13.6  For some samples GPU debugging stops automatically after 2-3 runs (382541)  Kernel Analyzer - Incomplete Oland ISA is generated after building kernel (382758) – fixed in Catalyst 13.6.  Show particular hidden row is not working in GPU Profiling Performance Counters session (382831)  Tooltip for ‘Profile’ toolbar button does not match the selected profile mode if no project loaded (383094)  CPU Profiling "Start Profile" remains disabled after importing invalid PRD raw data file (383397)  Locals & watch are not showing correct values of variables of type ‘double’ (383644)  Same names are accepted for profile sessions after renaming (383695)  KernelAnalyzer Command Line Interface shows junk values for ThreadsPerWorkGroup, ReqdWorkGroupX/Y/Z (384740)  Intel Core i7 with Windows 8 64-bit halts system on installing CodeXL (384949)  Step-in operations on a kernel with a struct variable may exhibit wrong line order (384976) – fixed in Catalyst 13.6.  BSOD while performing Time-Based Profiling using the Teapot sample on Intel platform (385723)  Project setting options for GPU profiling are automatically reset to default once profiling begins (385729)  GPU Profiler stores wrong OS identification in recorded files for Windows 8 and Windows Server 2012 (385884)  Statistics display of the number of wglShareLists & glGetBufferParameteriv API calls is wrong (386957)  Core affinity not fully honored for system wide profile run (387042)  "Quick start guide" is not installed as part of the Visual Studio extension if only Visual Studio 2010 is installed on the station (387933)  Visual Studio 2010 shuts down during GPU Debugging after pressing F11 at clGetDeviceInfo API (388008) Known Issues  When enabling the “Enable navigation to source code” option for a “GPU: Application Trace” profile on Linux, you may not be able to go to the source code of every API shown in the API trace table. The initial APIs in the table should allow navigation, but as you move further down through the trace table, you may notice that at some point the navigation to source code feature stops working. (404851)  ‘Navigation to Source Code’ option is disabled for GPU Profiling Application Trace on Tahiti GPUs on Linux platforms (376736) – fixed in Catalyst 13.8 (future release)  Debugging OpenCL kernels that use read-modify-write atomic operations is not supported.  GPU Debugging on OpenCL Static ++ Kernels is not supported. (345852)  __read_only and __write_only Image variables are not shown in locals during GPU Debugging. (345852)  OpenCL 1.2 keyword printf is not supported during kernel debugging.  Building kernels with OpenCL 1.2 clCreateProgramWithBinaries and clLinkProgram API prevents debugging these kernels. (369183)  Running CpuProfiling with Call-Stack Sampling (CSS) enabled, on systems with discrete graphics card (5000, 6000, 7000 series), may result in Linux kernel panic. This kernel panic does not occur with Linux kernel version 3.2 onwards.  CPU Profiling on Linux platforms – Limitations of PERF o CPU profiling uses PERF which requires kernel 2.6.32 or later. CPU Profiling with Call Stack Sampling requires Linux kernel 3.0 or later. However, we recommend using kernel 3.2 and above which has shown to be more stable. o Call chain analysis on Linux currently depends on the call chain information provided by Linux PERF. This requires the profiled binaries to have stack frame pointer. (i.e. compiled with -fno-omit-frame-pointer). o For non-root users to run CodeXL CPU profiling, “/proc/sys/kernel/perf_event_paranoid” needs to be set to “-1”. o Instruction-Based Profiling on Linux requires Linux kernel 3.5 and above, and must be used with system-wide profiling. o Call chain information (stack trace) for inline functions is not available.

 Call Stack data collection may result in kernel panic on Ubuntu with kernel version 3.0 or lower. Workaround: Upgrade the Ubuntu kernel to 3.2 or above. (352399)  PERF call chain which contains call stack across modules has shown to be truncated. This results in inaccurate "Deep Samples", "Downstream Samples", and "call path" analysis.  Importing a thread based session generated from CodeAnalyst sometimes results in CodeXL crash. (356479)  if gDEBugger is installed, mouse click doesn’t start text fields editing in CodeXL Visual Studio Extension. Workaround: Navigate to the text fields using TAB. (344811)  Menu items are present but not visible after a minimization of CodeXL in Ubuntu system using Unity. Workaround: Use Unity 2D instead of Unity. (353082)  Teapot sample may exhibit crash while debugging OpenCL kernel after multiple step in operations (45 or more) and Info level log or lower. (357741)  The variable type displayed for ‘int4’ variables appears as an unnamed struct. (362152)  APP SDK QuasiRandomSequence reports 0 for all performance counters on Cape Verde platforms (357699)  CodeXL points to incorrect source line on first step into kernel (370960)  For an application that performs simultaneous asynchronous data transfer and kernel execution, the timeline shown in the Application Trace session view will not show these operations being overlapped. This is because the driver and hardware force these operations to be synchronous while profiling. (333981)  CPU Profiling on Windows 8 shows two target applications in Profile Overview. The conhost.exe is a completely legitimate executable. This process fixes a fundamental problem in the way previous versions of Windows handled console windows, which broke drag & drop in Vista.  If CodeXL is installed in path that includes Unicode characters, profiling does not work (365118).  GPU Profiler Performance Counters show wrong values for DirectX samples on Intel Platform. (378477)  On Linux platforms CodeXL crashes when an OpenGL application’s window is closed during kernel debugging and a step-in operation is later performed (363957)  KernelAnalyzer does not allow further builds after the offline compiler reports “clBuildProgram had an unhandled exception” (399444)  KernelAnalyzer does not display ISA for Devastator and Scrapper target devices (400600)  Segmentation Fault while launching CodeXL in root mode on Llano + Radeon HD 6870. Workaround: Rename the file libamdocl64.so present in "/usr/lib64/". (401418)  CPU Profiling on Intel i7 Ivy Bridge may cause BSOD (405682) Support Please use our CodeXL Forum to request support and our development team will contact you.