AMD CodeAnalyst
DeveloperAMD
Operating systemLinux, Windows
TypeProfiler
LicenseProprietary software, GNU General Public License[1]
Websitedeveloper.amd.com/tools/heterogeneous-computing/amd-codeanalyst-performance-analyzer/

AMD CodeAnalyst is a GUI-based code profiler for x86 and x86-64-based machines. CodeAnalyst has similar look and feel on both Linux and Microsoft Windows platforms. CodeAnalyst uses specific hardware profiling techniques which are designed to work with AMD processors, as well as a timer-based profiling technique which does not require specific hardware support; this allows a subset of profiling features to work on non-AMD processors, such as Intel processors.[2]

As of March 2013, CodeAnalyst has been replaced by AMD CodeXL.[3]

Code optimization

edit

CodeAnalyst is built on OProfile for the Linux platform and is available as a free download. The GUI assists in various kinds of code profiling including time based profiling, hardware event-based profiling, instruction-based profiling and others. This produces statistics about details such as time spent in each subroutine which can be drilled down to the source code or instruction level. The time taken by the instructions can be indicative of stalls in the pipeline during instruction execution. Optimization could be as simple as reordering the instructions for maximum utilization of a data line cache or altering/removing the branches and loops so that the maximum number of execution units(Load/Store units, ALU, FP execution unit...) are utilized in parallel.

Support for PERF was added in CodeAnalyst 3.4, allowing users to choose between OProfile and PERF as the profiling backend.[4]

Instruction-Based Sampling

edit

CodeAnalyst supports IBS (Instruction-Based Sampling) that was introduced in Family 10h AMD processors (Barcelona). With IBS support, CodeAnalyst can more precisely identify instructions that cause pipeline stalls and cache misses.[5]

Open-source

edit

The Linux version of CodeAnalyst is available under GNU General Public License 2.0.[6]

CodeAnalyst also uses other open-source components, including the Qt framework, libdwarf, libelf, and the Binary File Descriptor library.

See also

edit

References

edit
  1. ^ AMD CodeAnalyst Performance Analyzer for Linux Archived July 9, 2012, at the Wayback Machine
  2. ^ "How I ran AMD CodeAnalyst on an Intel CPU". VirtualDub. November 4, 2009. Archived from the original on 2012-02-26. Retrieved 2010-02-23.
  3. ^ "AMD CodeAnalyst End-Of-Life Notice". AMD Developer Central. March 2, 2013. Archived from the original on August 6, 2013. Retrieved 2013-03-10.
  4. ^ "AMD releases CodeAnalyst 3.4 for Linux!". Retrieved 2013-11-09.{{cite web}}: CS1 maint: deprecated archival service (link)
  5. ^ "AMD Developer Central" (PDF). AMD. Archived from the original (PDF) on 2012-02-14. Retrieved 2012-02-14.
  6. ^ AMD CodeAnalyst Performance Analyzer for Linux
edit

📚 Artikel Terkait di Wikipedia

Profiling (computer programming)

Graphical output of the CodeAnalyst profiler

Hardware performance counter

Output of an IBS profile from CodeAnalyst.

CodeXL

hardware performance monitors. The CodeXL CPU profiler replaces AMD CodeAnalyst. CodeXL's static kernel analyzer allows engineers to compile, analyze

Call graph

analysis of profile data, to be used in conjunction with gperftools. CodeAnalyst from AMD (released under GPL) makeppgraph is a dependency graph generator

List of performance analysis tools

Proprietary CodeAnalyst by AMD Linux, Windows C, C++, Objective C .NET, Java (works at the executable level) AMD uProf supersedes CodeAnalyst and CodeXL