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 Analysis
- 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.
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.
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!
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.
Monitor 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.
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.