Developer Central
China  |  India
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support
  • Home
  • Tools & SDKs
  • Resources
  • Community
  • Partners
  • Support

Tools & SDKs

  • Heterogeneous Computing
    • Aparapi
    • APP Kernel Analyzer
    • APP Profiler
      • Getting Started
        • System Requirements
        • Installation
        • Successful Installation
        • Using The Visual Studio Plugin
        • Using the Command Line Interface
        • Known Issues
        • Support
      • User Guide
        • APP Profiler Session Explorer
        • APP Profiler Session
        • APP Profiler Timeline
        • APP Profiler Summary Pages
        • APP Profiler Code Viewer
        • APP Profiler Kernel Occupancy Viewer
        • APP Profiler Settings
        • APP Profiler Session Parameters
        • Description of Configuration Files
        • APP Profiler Kernel Occupancy
        • CLPerfMarkerAMD Library
    • Accelerated Parallel Processing (APP) SDK
      • Downloads
        • Download Archive
      • System Requirements & Driver Compatibility
      • Documentation
      • Bolt C++ Template Library
        • AMD Bolt Sample Code Contest Official Rules
      • Samples & Demos
      • Compute System Recommendations
      • Intro OpenCL Tutorial
      • Open Source Libraries
      • Support
    • Accelerated Parallel Processing Math Libraries (APPML)
    • CodeAnalyst Performance Analyzer
      • CodeAnalyst for Linux®
      • CodeAnalyst for Windows®
      • PMU Extension Driver
      • CodeAnalyst Archive
    • CodeXL
    • gDEBugger
      • gDEBugger User Guide
        • Getting started with gDEBugger
        • Toolbars
        • Views
        • Dialogs
        • How Do I…
        • FAQ
        • Supported Extensions
        • System Requirements & Installation
        • Legal Information
        • Contact Information
  • CPU Development
    • Advanced Platform Management Link (APML)
    • Core Math Library (ACML)
      • Downloads & Resources
        • Building with ACML
        • How to use ACML with different versions of GCC/GFORTRAN
      • Archive Downloads
      • Product Features
      • Redistribution Agreements
    • LibM
      • ACML_MV
      • LibM Functions
    • Open64 SDK
      • Building with ACML
    • SimNow™ Simulator
    • Tools for DMTF DASH
    • x86 Open64 Compiler Suite
      • Developer Guide
      • Apps & Libraries Built by x86 Open64
      • Inactive Files
  • Graphics Development
    • Display Library (ADL) SDK
    • ATI GPU Services (AGS) Library
    • GPU PerfStudio 2
      • API Trace
      • Frame Debugger
      • Frame Profiler
      • Shader Debugger
      • Shader Editor
      • Previous versions
    • GPU ShaderAnalyzer
    • GPUPerfAPI
    • OpenGL ES SDK
    • Quad-Buffer SDK
    • FirePro SDK
      • FirePro News & Events
    • Radeon™ SDK
  • Open Source
    • GCC & GNU Toolchains
    • OpenCL™ Emulator-Debugger
    • Tapper

Home > Tools & SDKs > CPU Development > Advanced Platform Management Link (APML)

Advanced Platform Management Link (APML)

Overview

APML (Advanced Platform Management Link) is an out-of-band power management and RAS (Reliability, Availability and Serviceability) AMD processor feature. APML was first made available on AMD “Istanbul” server processors, which were launched in mid-2009.

Examples of APML out-of-band capabilities:

  • Processor power capping
  • Processor asset identification and tracking (including CPUID)
  • Machine check register access with optional alerts to management subsystems

In order to help developers take full advantage of this feature, AMD provides a Firmware Design Kit (FDK) and a BIOS tool that together enable you to get the most out of your processor’s performance and gain a competitive edge.

Go to Downloads

APML Architecture Overview

APML is an SMBus v2.0 compatible 2-wire processor slave interface which supports 100 KHz, 400 KHz and 3.4 MHz clock speeds and optional SMBus alerts. Platform management controllers (typically Baseboard Management Controllers and Service Processors) may master the APML interface to read and write limited processor state to perform power management and RAS operations.

Tools for Management Controller Firmware Developers – APML FDK

In order to help developers take full advantage of APML, AMD provides an APML FDK (Firmware Development Kit) management controller reference implementation under a BSD-like license.

APML FDK design characteristics:

  • Standard C code base for maximum portability
  • Single threaded model to support a wide variety of management subsystem operating systems
  • Clear separation and well defined interfaces to hardware dependant code
  • Simple and powerful high level interfaces, for example:
    • apml_read_cpuid() – Obtain processor capabilities and identification information
    • apml_read_pstate() – Read the current P-state for a given core in the processor
    • apml_write_pstate_limit() – Place a power cap on the processor

Tools for BIOS Developers – ACPI P-state Notification

APML provides a powerful performance and power capping feature called P-state Limit. This enables a management controller to place a P-state Limit on the processor which is a ceiling on the amount of performance and power that a processor may utilize.

In order for an operating system to schedule work properly and perform power management, it must understand the current processor operating conditions including any existing P-state Limits. ACPI (Advanced Configuration and Power Interface) provides a mechanism to alert the operating system to these kinds of out-of-band events.

AMD highly recommends that any platform which implements P-state Limits should also implement an ACPI notification mechanism. Please see the ACPI Notification white paper listed below for details.

  • Using ACPI to Report APML P-State Limit Changes to Operating Systems and VMM’s

Related Resources

  • APML (Advanced Platform Management Link) Specification
  • System Management Bus (SMBus) 2.0 Specification: http://smbus.org/specs/
  • Advanced Configuration & Power Interface Specification: http://www.acpi.info/

Support

Please post all feedback and questions on the Developer Forums.

Downloads

File Name Version Size Launch Date OS Bitness Description
apml_fdk_1_0.zip 1 80 KB 6/10/2009

Get the hcNewsFlash.

Your email address:

No SPAM.
Easy unsubscribe.

HSA is going to rock your world.

Learn more about Heterogeneous System Architecture.

Got Questions?

Ask the Developer Forums Community. They’ve got answers.

Tools & SDKs

  • Heterogeneous Computing
    • Aparapi
    • APP Kernel Analyzer
    • APP Profiler
      • Getting Started
        • System Requirements
        • Installation
        • Successful Installation
        • Using The Visual Studio Plugin
        • Using the Command Line Interface
        • Known Issues
        • Support
      • User Guide
        • APP Profiler Session Explorer
        • APP Profiler Session
        • APP Profiler Timeline
        • APP Profiler Summary Pages
        • APP Profiler Code Viewer
        • APP Profiler Kernel Occupancy Viewer
        • APP Profiler Settings
        • APP Profiler Session Parameters
        • Description of Configuration Files
        • APP Profiler Kernel Occupancy
        • CLPerfMarkerAMD Library
    • Accelerated Parallel Processing (APP) SDK
      • Downloads
        • Download Archive
      • System Requirements & Driver Compatibility
      • Documentation
      • Bolt C++ Template Library
        • AMD Bolt Sample Code Contest Official Rules
      • Samples & Demos
      • Compute System Recommendations
      • Intro OpenCL Tutorial
      • Open Source Libraries
      • Support
    • Accelerated Parallel Processing Math Libraries (APPML)
    • CodeAnalyst Performance Analyzer
      • CodeAnalyst for Linux®
      • CodeAnalyst for Windows®
      • PMU Extension Driver
      • CodeAnalyst Archive
    • CodeXL
    • gDEBugger
      • gDEBugger User Guide
        • Getting started with gDEBugger
        • Toolbars
        • Views
        • Dialogs
        • How Do I…
        • FAQ
        • Supported Extensions
        • System Requirements & Installation
        • Legal Information
        • Contact Information
  • CPU Development
    • Advanced Platform Management Link (APML)
    • Core Math Library (ACML)
      • Downloads & Resources
        • Building with ACML
        • How to use ACML with different versions of GCC/GFORTRAN
      • Archive Downloads
      • Product Features
      • Redistribution Agreements
    • LibM
      • ACML_MV
      • LibM Functions
    • Open64 SDK
      • Building with ACML
    • SimNow™ Simulator
    • Tools for DMTF DASH
    • x86 Open64 Compiler Suite
      • Developer Guide
      • Apps & Libraries Built by x86 Open64
      • Inactive Files
  • Graphics Development
    • Display Library (ADL) SDK
    • ATI GPU Services (AGS) Library
    • GPU PerfStudio 2
      • API Trace
      • Frame Debugger
      • Frame Profiler
      • Shader Debugger
      • Shader Editor
      • Previous versions
    • GPU ShaderAnalyzer
    • GPUPerfAPI
    • OpenGL ES SDK
    • Quad-Buffer SDK
    • FirePro SDK
      • FirePro News & Events
    • Radeon™ SDK
  • Open Source
    • GCC & GNU Toolchains
    • OpenCL™ Emulator-Debugger
    • Tapper

©2013 Advanced Micro Devices, Inc. OpenCL and the OpenCL logo are trademarks of Apple, Inc., used with permission by Khronos.

  • Contact Us
  • |
  • Careers
  • |
  • Site Map
  • |
  • Terms and Conditions
  • |
  • Privacy
  • |
  • Trademarks