Menu

Tree [b44706] master /
 History

HTTPS access


File Date Author Commit
 .gitignore 2011-08-30 Andre Przywara Andre Przywara [9cfbff] add .o files to gitignore
 ChangeLog 2012-07-04 Andre Przywara Andre Przywara [b44706] add ChangeLog file for new release
 Makefile 2012-07-04 Andre Przywara Andre Przywara [b69be3] Re-enable k10ctl compilation by default
 README 2012-06-21 Andre Przywara Andre Przywara [040def] add Sourceforge contact information
 TODO 2012-06-21 Andre Przywara Andre Przywara [af515e] update TODO to reflect basic handling of multip...
 amdpctl.1 2012-07-04 Andre Przywara Andre Przywara [8f8976] update copyright year in manpage
 amdpctl.c 2012-07-04 Andre Przywara Andre Przywara [df138b] output current P-State and P-State limit for ev...
 amdpctl.h 2012-02-03 Andre Przywara Andre Przywara [5b0255] changing meaning of cpuMultK into cpuFreqM
 hwif.c 2011-09-29 Andre Przywara Andre Przywara [607d45] fix CPUID for 32-bit
 hwif.h 2011-09-05 Andre Przywara Andre Przywara [fc7c29] add command to access Linux CPB setting
 k10ctl.c 2012-06-22 Andre Przywara Andre Przywara [abc264] adjust output to match original k10ctl output
 k10ctl.h 2011-10-08 Andre Przywara Andre Przywara [26dd8a] move family and boosted P-states into a struct

Read Me

           amdpctl
      ================

amdpctl allows access to the P-states of recent AMD processors.
P-states define a valid combination of voltage and frequency, to which
the processor can switch easily to save power. In opposite to C-states the
CPU remains fully operational, though at a possibly lower speed.

Normally P-states are processor defined and can sometimes be tweaked by
the BIOS. amdpctl can query the current P-states settings and also allows
to change it. On this way you can overclock your processor (if that CPU model
allows it) or you can underclock or undervolt your CPU (supported by all CPUs).
With undervolting you can save power without sacrificing performance.

With all these tweaking you drive your CPU to the egde (if not beyond) its
specification, so it may become unstable or may even overheat.
The least precaution before doing the tweaking is to bring your system to
a state where a hard crash wouldn't hurt it (unmounting precious partitions,
switching to single user state, sync-ing the buffers, etc.).
I'd also recommend to do a backup of your data.
For experiments it could also be handy to use a live system, started from
a CD or USB stick without mounting any hard disk partitions. This way the
possibility of damaging your data can be minimized.

*** WARNING ***:
All these precautions cannot prevent the danger of hurting the CPU by
applying absurd settings to it. The author cannot help responsible for
any damage occured due to the usage of amdpctl.
*** WARNING ***

* Try to increase or decrease the voltage and frequency only in small steps.
* Test the stability of the system after each setting.
* Go back a few steps should the system become unstable.
* Use only sensible combinations of voltage and frequency. Higher frequencies
  require higher voltage, look at the factory settings to get an idea.

Contact:
---------------
Check for updated versions on:
http://sourceforge.net/projects/amdpctl/

There are two mailing lists:
* amdpctl-users@lists.sourceforge.net
  for questions about using this tool or bug reports
  subscribing: https://lists.sourceforge.net/lists/listinfo/amdpctl-users
* amdpctl-devel@lists.sourceforge.net
  for patches, bug-reports, feature requests
  subscribing: https://lists.sourceforge.net/lists/listinfo/amdpctl-devel

Installation:
---------------
$ make
# make PREFIX=/usr install

The Makefile honors a DESTDIR setting to copy the installation files into
a different base directory than /.


Usage:
---------------

See the manpage (man amdpctl) or the online help (amdpctl -h).
Usage examples:
# amdpctl
   will query the current P-state settings on all CPUs and display it
# amdpctl -p 3
   will query the current P-state settings of CPU 3 and display it
# amdpctl tweak 2 --volt 1.1 --freq 2500
   will program the P-state 2 to use 1.1 Volts and a frequency of 2500 MHz


CPU support status:
----------------

Not supported:
* anything not 64-bit capable
  * K6, K7, Athlon XP, Athlon MP
* Family 0Fh (K8) (probably never will)
  - three-digit Opterons
  - Opteron 12xx, 22xx, 82xx
  - Athlon 64, Athlon X2, older Semprons
* Family 15h, model 10h (coming soon)
  - Trinity, AMD A-10

Currently supported CPUs are:
* Family 10h
  Barcelona, Shanghai, Hydra, Magny-Cours
  Phenom, PhenomII, AthlonII, TurionII
  Opteron 13xx, 23xx, 83xx, 24xx, 84xx
  Opteron 41xx, 61xx
* Family 12h
  Llano, AMD-A Series
* Family 14h
  Brazos, Ontario, Zacate, AMD-E Series
* Family 15h, models 00h - 0Fh
  Bulldozer, AMD-FX series
  Opteron 32xx, 42xx, 62xx

The models listed are not an exhaustive lists, just popular examples.
The actual criterion for support is the CPU family/model setting, which can
be queried via /proc/cpuinfo:
$ grep -E "cpu family|model[^ ]" /proc/cpuinfo | head -2
Linux lists the family and model in decimal values, so 16 means 10h