Software:CodeXL
| Original author(s) | Advanced Micro Devices |
|---|---|
| Stable release | 2.6
/ October 15, 2018 |
| Written in | C, C++ |
| Operating system | Linux, Windows |
| Type | GPU debugging, GPU & CPU profiling, Static Kernel Analysis |
| License | MIT License |
| Website | {{{1}}} |
CodeXL (formerly AMD CodeXL) was an open-source software development tool suite which included a GPU debugger, a GPU profiler, a CPU profiler, a graphics frame analyzer and a static shader/kernel analyzer.
CodeXL was mainly developed by AMD. With version 2.0 CodeXL was made part of GPUOpen and is free and open-source software subject to the requirements of the MIT License. It is no longer branded as an AMD product.[1]
CPU profiler and Power profiler were included in CodeXL until version 2.5. Now these profilers are released as part of the AMD uProf tool.
In April 2020 AMD updated the GitHub repository announcing that "CodeXL is no longer being actively developed or supported by AMD and is being archived"[2]
Features
GPU debugger
CodeXL's GPU debugger allows engineers to debug OpenGL and OpenCL API calls and runtime objects, and debug OpenCL kernels: set breakpoints, step through source code in real-time, view all variables across different GPU cores during kernel execution, identify logic and memory errors, reduce memory transaction overhead, visualize OpenCL/OpenGL buffers and images and OpenGL textures as pictures or as spreadsheet data, and in this way to improve general software quality and optimize its performance.
GPU profiler
CodeXL's GPU profiler collects and visualizes hardware performance counters data, application trace, kernel occupancy, and offers hotspot analysis for AMD GPUs and APUs. The profiler gathers data from the OpenCL runtime, and from the GPU/APU itself during the execution of the kernels, and can be used to discover performance bottlenecks and optimize kernel execution.
CPU profiler
AMD uProf supersedes the CodeXL for CPU and Power Profiling functionalities on AMD processors.[3]
CodeXL's CPU profiling suite can be used to identify, investigate and improve the performance of applications, drivers and system software on AMD CPUs. CodeXL's CPU profiler uses a statistical sampling based approach with various profiling techniques and measures: Time-Based Profiling (TBP), Event-Based Profiling (EBP), Instruction-Based Sampling (IBS) and CPU hardware performance monitors. The CodeXL CPU profiler replaces AMD CodeAnalyst.
Static Shader/Kernel Analyzer
CodeXL's static kernel analyzer allows engineers to compile, analyze and disassemble the code of DirectX, OpenGL and Vulkan shaders and OpenCL kernels. The tool provides performance estimation for each shader/kernel on different kinds of AMD chips, without actually executing the code. This way, the tool assists in fine-tuning to achieve best performance on AMD GPUs.[4][5]
Radeon GPU Analyzer (RGA)
In Q1 2017, AMD CodeXL Analyzer was replaced by Radeon GPU Analyzer (RGA), maintaining backward compatibility. Radeon GPU Analyzer CLI is an offline compiler and a performance analysis tool for DirectX shaders, OpenGL shaders, Vulkan shaders and OpenCL kernels.[6]
HSA profiler
With version 2.0 the CodeXL HSA Profiler and HSAIL Kernel Debugger support the Boltzmann initiative driver, on GCN 1.2 hardware (i.e. Radeon R9 Fury, Fury X and Fury Nano, and "Carrizo" APUs.[1]
Graphics Frame Analyzer
The Frame Analyzer can collect and display a frame timeline for applications that use Microsoft DirectX 12 or Vulkan. The analyzer's view lists each API call that was made on the CPU side and its corresponding command that executed on the GPU side in an inter-linked and unified timeline view, as well as aggregated statistics for user-selected specific time fragment – cumulative time for each type of API, number of calls, 20 longest calls and more.
Supported platforms
CodeXL officially supports both