CodeXL
   HOME

TheInfoList



OR:

CodeXL (formerly AMD CodeXL) was an open-source software development tool suite which included a
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
debugger, a GPU profiler, a CPU profiler, Graphics frame analyzer and a static shader/kernel analyzer. CodeXL was mainly developed by
AMD Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
. 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 The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
. It is no longer branded as an AMD product. CPU profiler and Power profiler were included in CodeXL until version 2.5. Now these profilers are released as part of
AMD uProf Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
tool. In April 2020 AMD updated the GitHub repo announcing that "CodeXL is no longer being actively developed or supported by AMD and is being archived"


Features


GPU debugger

CodeXL's GPU debugger allows engineers to debug OpenGL and
OpenCL OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-progra ...
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 Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
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. 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 Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
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.


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.


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.


Graphics Frame Analyzer

The Frame Analyzer can collect and display a frame timeline for applications that use Microsoft
DirectX 12 Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
or
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
. 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
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
and Microsoft Windows operating systems. On Windows, CodeXL is available both as a standalone application and as a fully integrated Microsoft Visual Studio extension. CodeXL was successfully used to debug Bullet.


Versions and availability

* AMD CodeXL 1.0, released on December 4, 2012. * AMD CodeXL 1.1, released on February 27, 2013. * AMD CodeXL 1.2, released on July 9, 2013. * AMD CodeXL 1.3, released on November 11, 2013. * AMD CodeXL 1.4, released on April 11, 2014. * AMD CodeXL 1.5, released on September 22, 2014. * AMD CodeXL 1.6, released on December 16, 2014. * AMD CodeXL 1.7, released on April 28. 2015. * AMD CodeXL 1.8, released on August 20. 2015. * CodeXL 2.0, released on April 19, 2016. * CodeXL 2.1, released on May 31, 2016. * CodeXL 2.2, released on August 8, 2016. * CodeXL 2.4, released on June 20, 2017. * CodeXL 2.5, released on September 26, 2017. * CodeXL 2.6, released on October 15, 2018. The latest version of CodeXL is freely available for download on the CodeXL GitHub releases page.


GPU PerfStudio

GPU PerfStudio is AMD's performance and debugging tool for graphics applications. It was initially developed to support Direct3D and OpenGL on Microsoft Windows only and was ported to Linux during 2013 and is available for Linux since the end of Q1 2014. The suite of tools is considered useful when developing games for Steam Linux and especially useful when optimizing games for AMD GPUs. GPU PerfStudio has an integrated Frame Profiles, Frame Debugger and API Trace with CPU timing information. GPU PerfStudio supports Direct3D 10, Direct3D 10.1, Direct3D 11 and OpenGL 4.2. It is described as a lightweight, no installer, no change to your game,
drag and drop In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used to ...
suite of GPU tools. It can be run from a USB drive, there is no need for Visual Studio integration, it runs with game executables, it does not require a special driver or a new compilation. GPU PerfStudio 3.6 supports Direct3D 12 on Windows 10 and
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
on Windows and Linux. GPU PerfStudio is available for Linux and Microsoft Windows. At the AMD Developer Summit (APU) in November 2013 Gordon Selley presented GPU PerfStudio 2. At the SteamDevDays in February 2014, Tony Hosier and Gordon Selley presented GPU PerfStudio 2 in a 43 minutes video.


Frame Debugger


Frame Profiles


Shader Debugger


API Trace


GPUPerfAPI

GPUPerfAPI is AMD's library for accessing GPU performance counters on AMD Radeon graphics cards and APUs. It is used by GPU PerfStudio and CodeXL and is also available to third party developers who wish to incorporate it within their own applications. GPUPerfAPI supports DirectX11, OpenGL, and OpenCL applications. GPUPerfAPI is available for Linux and Microsoft Windows.


See also

*
AMD uProf Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
*
List of performance analysis tools This is a list of performance analysis tools for use in software development. General purpose, language independent The following tools work based on log files that can be generated from various systems. * time (Unix) - can be used to determi ...
*
AMD CodeAnalyst Advanced Micro Devices, AMD CodeAnalyst is a Graphical user interface, GUI-based code Profiling (computer programming), profiler for x86 and x86-64-based machines. CodeAnalyst has similar look and feel on both Linux and Microsoft Windows platforms. ...
*
Heterogeneous System Architecture Heterogeneous System Architecture (HSA) is a cross-vendor set of specifications that allow for the integration of central processing units and graphics processors on the same bus, with shared memory and tasks. The HSA is being developed by the HSA ...
(HSA)


References


External links

* {{AMD graphics AMD software Heterogeneous System Architecture Proprietary freeware for Linux Proprietary software that uses Qt Software that uses Qt Video game development software for Linux