CodeXL

Tools

CodeXL is a comprehensive tool suite that enables developers to harness the benefits of CPUs, GPUs and APUs. CodeXL is available both as a Visual Studio® extension and a standalone user interface application for Windows® and Linux®. It includes:

  • Powerful combined Host + GPU debugging
  • DirectX® 12 and Vulkan® Frame AnalysisCodeXL Logo
  • Comprehensive GPU and CPU profiling
  • Static OpenCL™, OpenGL®, Vulkan® and DirectX® kernel/shader analysis capabilities
  • APU/CPU/GPU power profiling

The CodeXL source code and released binary installers are available on the GitHub links above and below.

Combined Host and GPU Debugging

Combine  C/C++ debugging with comprehensive GPU debugging of OpenCL & OpenGL API calls and OpenCL and HSA kernels. The debugger includes real-time OpenCL kernel debugging, which allows you to step into the kernel execution directly from the API calls, debug inside the kernel, view all variable values across different work groups and work items – and all this on a single computer with a single GPU. Seamlessly step through C/C++ host code, into OpenCL kernel code and back to host code again. Peek into compute and graphic memory objects, monitor their contents, and detect memory leaks and code paths that caused it.

DirectX 12 and Vulkan Frame Analysis

Collect and display a frame timeline for applications that use Microsoft DirectX 12 or Vulkan. Review each API call that was made on the CPU side and its corresponding command that executed on the GPU side in a inter-linked and unified timeline view. Review aggregated statistics for user-selected specific time fragment – cumulative time for each type of API, number of calls, 20 longest calls and more.

GPU Profiling

Collect and visualize GPU counter data, application trace, kernel occupancy and hotspots analysis for AMD APUs and GPUs. The profiler gathers data from the OpenCL™ and HSA run-time and AMD Radeon™ GPUs during the execution of an OpenCL™ or HSA application. This can be used to discover bottlenecks in an application and find ways to optimize the application’s performance for AMD platforms.

CodeXL_2_0_GPU_Profiling_Timeline_Trace

Static Shader Analysis

Compile and analyze the code of DirectX, OpenGL and Vulkan shaders, and OpenCL kernels.

  • Build offline regardless of the actual GPU hardware
  • View ISA disassembly
  • View GPU resource usage – quantity of consumed memory and scalar/vector registers
  • Performance advisory board
  • Generate binaries for shader pipelines and kernels

All without running the actual application!

CPU Profiling

Investigate and improve the performance of applications, drivers and system software on x86 CPUs. Find time critical hotspots and diagnose performance issues, precisely with CPU sampling and call-graph profiling features.

  • Time-based profiling – supports any x86 CPU
  • Event-based profiling – supports AMD CPUs and APUs
  • Instruction-based sampling – supports AMD CPUs and APUs

Local and Remote Operation

CodeXL can run debug/profile/analysis sessions on the local station or communicate over the network with its remote agent for debugging/profiling on a remote target machine.

Power Profiling

CodeXL_2_0_Power_Profiler_Timeline_shortMonitor the power consumption of APU and discrete GPU components in real-time, as well as CPU core and GPU frequencies,  and CPU cores thermal trend and P-State. A command line tool and a rich graphic client let you visualize and analyze what are the power-hungry parts of your machine and make your application greener.

Download

The latest CodeXL release is here: CodeXL 2.4. For earlier releases see the releases section.

Note: Support for pre-GCN GPUs has been discontinued in the latest releases and is available only in the legacy AMD CodeXL 1.9 release.

Technical Blogs

GPUOpen technical blogs about CodeXL


Resources