Multiple Processor G34 Checklist

musky

[H]ard|DCer of the Year 2012
Joined
Dec 14, 2009
Messages
3,154
Thanks to tear and the rest of the Area 51 crew for this list.
8/28/2012 - Updated to TPC version 0.43
2/19/2013 - Updated to TPC version 0.44-rc2 (previously)
10/9/2013 - remove i2c-tools/i2c-dev references

Here are some basic things to have installed and to check for with a 2p/4p G34 system. Please continue to join the irc channel for more specific help. You need these basics in place first, though.

Packages

If you plan to use TurionPowerControl prior to a reboot, the following modules need to be activated via modprobe:
Code:
sudo modprobe cpuid
sudo modprobe msr

Adding the modules to /etc/modules will activate them when your system loads the OS, so you will not need to modprobe them after each reboot.

Code:
sudo nano /etc/modules

You should see something like this:
Code:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp
rtc

Add msr and cpuid to this list:

Code:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp
rtc
msr
cpuid

Exit and save. The next time you reboot, these modules will load with the OS.

The build-essential package will give you the compilers you will need. You may have downloaded part of this package (gcc) when you installed thekraken. Go ahead and get the rest of it.
Code:
sudo apt-get install build-essential

TurionPowerControl is a very useful utility for system information on any AMD-based system. Version 0.41 was the most recent as of this post. To install this, we are going to:
1. Download the tarball
2. Un-tar the tarball
3. move to the src directory
4. compile it (make and sudo make install)
5. Make a hard link from TurionPowerControl to tpc

First, make sure you have the ncurses-dev package installed. With Ubuntu, use apt-get install:
Code:
sudo apt-get install ncurses-dev
Then go through the install steps:
Code:
cd ~
wget http://turionpowercontrol.googlecode.com/files/tpc-0.44-rc2.tar.gz
tar xvf tpc-0.44-rc2.tar.gz
cd tpc-0.44-rc2/src
make
sudo make install
One common use case - show your current CPU temperatures:
Code:
sudo tpc -temp

Just type 'tpc' to see a list of all of the options.


Configuration

Temps - need to be under 70C, else you will run into thermal throttling
Code:
sudo tpc -temp

Memory
- populated evenly, 4 sticks/CPU minimum
- if your board has 8 slots/CPU, the slot closest to each CPU should not be populated
- run
Code:
grep MemTotal /sys/devices/system/node/node[0-9]*/*
Make sure that:
1. There are 8 nodes total
2. Each node has the correct amount of memory (they should normally be the same amount unless you have an odd memory configuration)
Example output - 16 x 1Gb memory modules:
Code:
sys/devices/system/node/node0/meminfo:Node 0 MemTotal:        2096696 kB
sys/devices/system/node/node1/meminfo:Node 1 MemTotal:        2095744 kB
sys/devices/system/node/node2/meminfo:Node 2 MemTotal:        2097152 kB
sys/devices/system/node/node3/meminfo:Node 3 MemTotal:        2097152 kB
sys/devices/system/node/node4/meminfo:Node 4 MemTotal:        2097152 kB
sys/devices/system/node/node5/meminfo:Node 5 MemTotal:        2097152 kB
sys/devices/system/node/node6/meminfo:Node 6 MemTotal:        2097152 kB
sys/devices/system/node/node7/meminfo:Node 7 MemTotal:        2097152 kB

- Check memory timings:
Code:
sudo tpc -dram
All timings should be identical across all nodes and DCTs (MaxRdLatency values may vary a little, which is fine)

Sample ouput - basic 1333 C9 memory (most memory should default to something close to this by default)

Code:
Turion Power States Optimization and Control - by blackshard - v0.41

DRAM Configuration Status

Node 0 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52

Node 1 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=50
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51

Node 2 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51

Node 3 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=49
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=50

Node 4 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51

Node 5 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=50
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=49

Node 6 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=52

Node 7 ---
DCT0: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=51
DCT1: memory type: DDR3 frequency: 1332 MHz
Tcl=9 Trcd=9 Trp=9 Tras=24 Access Mode:1T Trtp=5 Trc=33 Twr=9 Trrd=4 Tcwl=7 Tfaw=20
TrwtWB=8 TrwtTO=7 Twtr=5 Twrrd=2 Twrwr=4 Trdrd=3 Tref=2 Trfc0=0 Trfc1=2 Trfc2=0 Trfc3=0 MaxRdLatency=49


Done.

- PowerNow - this should be disabled for all ES and MC systems. It should be enabled for all non-ES LI and AD systems so you can get the turbo multipliers. Run the following:
Code:
ls -l /sys/devices/system/cpu/cpu[0-9]*/cpufreq
This should return 'ls: cannot access /sys/devices/system/cpu/cpu[0-9]*/cpufreq: No such file or directory' if you have PowerNow diabled. If this returns something else, you have PowerNow enabled.

BIOS settings to check
- PowerNow set to Disabled (see above for the check)
- NUMA/SRAT set to Enabled
- Node Interleaving set to Disabled
- Bank/channel interleaving set to Auto or Enabled
- Tyan boards - Ungang DCTs set to Always

If you have any problems or questions, please join our irc channel for assistance. Several people that frequent the channel are familiar with all of this, and it will be easier to help you there.
 
Last edited:
I just learned more about Linux commands by reading this than I have learned in a year of running it. Thanks musky :cool:
 
What you all don't realize is that he makes these guides so he knows what to do the next time he sets up a system! :D

Very useful stuff. Thanks for compiling it all together musky.
 
Great great job.. Not just for your contributions, but also for sharing the knowledge.
 
Musky, Thanks for sharing this guide with us. I just printed it out for my own use, and I'm in the process of putting together a 2P unit right now.

Robert
 
I'm trying to update my tpc 0.41 to the 0.44-rc2

I'm get the follow error on the make statement:
Code:
bowlinra@amd4p:~/tpc-0.44-rc2/src$ make

/bin/sh: 1: svn: not found
/bin/sh: 1: svnversion: not found
g++ -O2   -MMD -MF obj/x86_64/.sysdep-linux.d -MT obj/x86_64/sysdep-linux.o -c -o obj/x86_64/sysdep-linux.o sysdep-linux.cpp
sysdep-linux.cpp:2:18: fatal error: term.h: No such file or directory
compilation terminated.
make: *** [obj/x86_64/sysdep-linux.o] Error 1
bowlinra@amd4p:~/tpc-0.44-rc2/src$
Any Ideas?
 
From OP:
First, make sure you have the ncurses-dev package installed. With Ubuntu, use apt-get install:
Code:
sudo apt-get install ncurses-dev
 
How do you run tpc at startup, with predefined OC settings? I know I saw a script once, but couldn't find it now.
 
I run my simple tpc vcore command within /etc/rc.local
If there are multiple lines I add a "sleep 1" command line between each.
 
It's also imperative that msr and cpuid modules are added to /etc/modules per OP.
 
Also worth noting is that you do not need sudo - rc.local run as root already.
 
ok, so I can put the sleep command in rc.local... good to know. Does the order in rc.local matter? Like, OC settings first, maybe langouste next and so on?
 
As long as whatever you put there doesn't hang, sequence won't matter. I start langouste, refresh the fah directory, then apply the overclock in my rc.local.
 
Seems to work :) thanks. I remember I had issues related to this on the (now fried) 2P ASUS setup I tried before getting my 4P rigs.
 
I'm trying to update my tpc 0.41 to the 0.44-rc2

I'm get the follow error on the make statement:
Code:
bowlinra@amd4p:~/tpc-0.44-rc2/src$ make

/bin/sh: 1: svn: not found
/bin/sh: 1: svnversion: not found
g++ -O2   -MMD -MF obj/x86_64/.sysdep-linux.d -MT obj/x86_64/sysdep-linux.o -c -o obj/x86_64/sysdep-linux.o sysdep-linux.cpp
sysdep-linux.cpp:2:18: fatal error: term.h: No such file or directory
compilation terminated.
make: *** [obj/x86_64/sysdep-linux.o] Error 1
bowlinra@amd4p:~/tpc-0.44-rc2/src$
Any Ideas?

I had a similar issue as bowlinra with the following error:
madmax@MADMAX-H8QGL:~/tpc-0.44-rc2/src$ make
/bin/sh: svn: not found
/bin/sh: svnversion: not found
g++ -o TurionPowerControl obj/x86_64/TurionPowerControl.o obj/x86_64/config.o obj/x86_64/cpuPrimitives.o obj/x86_64/Griffin.o obj/x86_64/K10Processor.o obj/x86_64/Brazos.o obj/x86_64/Llano.o obj/x86_64/Interlagos.o obj/x86_64/MSRObject.o obj/x86_64/MSVC_Round.o obj/x86_64/PCIRegObject.o obj/x86_64/PerformanceCounter.o obj/x86_64/Processor.o obj/x86_64/K10PerformanceCounters.o obj/x86_64/scaler.o obj/x86_64/Signal.o obj/x86_64/sysdep-linux.o -lrt -lncurses
/usr/bin/ld: cannot find libncurses.so.5
collect2: ld returned 1 exit status
make: *** [TurionPowerControl] Error 1

I have tried to install ncurses-dev, but it gives me this message:
madmax@MADMAX-H8QGL:~/tpc-0.44-rc2/src$ sudo apt-get install ncurses-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libncurses5-dev' instead of 'ncurses-dev'
libncurses5-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 1132 not upgraded.

Any ideas what else I should try to get around this?
 
Hmm, that does look strange.

Which distribution are you using?
 
Maverick.

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"

Linux version 2.6.35-22-generic (buildd@allspice) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu4) ) #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010
 
Last edited:
Hmm, I tried 10.10 VM and it worked fine.
Given the repos have been shut down I had to download missing packages manually but otherwise there were no issues.

Your APT is saying it already has libcurses5-dev so I would expect things to "just work".

I suspect something may have corrupted your ncurses installation.

What does this return:
Code:
ls -l $(dpkg -L libncurses5 libncurses5-dev | grep /lib/.*libncu)

I get:
Code:
    $ ls -l $(dpkg -L libncurses5 libncurses5-dev | grep /lib/.*libncu)
    lrwxrwxrwx 1 root root     17 2012-12-17 21:23 /lib/libncurses.so.5 -> libncurses.so.5.7
    -rw-r--r-- 1 root root 278488 2010-07-05 19:45 /lib/libncurses.so.5.7
    -rw-r--r-- 1 root root 572340 2010-07-05 19:45 /usr/lib/libncurses.a
    -rw-r--r-- 1 root root 179088 2010-07-05 19:45 /usr/lib/libncurses++.a
    lrwxrwxrwx 1 root root     20 2013-03-30 16:46 /usr/lib/libncurses.so -> /lib/libncurses.so.5
    $
 
I got this in return;

Code:
$(dpkg -L libncurses5 libncurses5-dev | grep /lib/.*libncu)
lrwxrwxrwx 1 root root     17 2013-03-30 00:37 /lib/x86_64-linux-gnu/libncurses.so.5 -> libncurses.so.5.9
-rw-r--r-- 1 root root 133808 2011-11-19 00:30 /lib/x86_64-linux-gnu/libncurses.so.5.9
-rw-r--r-- 1 root root 294004 2011-11-19 00:30 /usr/lib/x86_64-linux-gnu/libncurses.a
-rw-r--r-- 1 root root 157584 2011-11-19 00:30 /usr/lib/x86_64-linux-gnu/libncurses++.a
-rw-r--r-- 1 root root     31 2011-11-19 00:30 /usr/lib/x86_64-linux-gnu/libncurses.so
 
Finally got this working. :)
Is there any guide here on how I can use TPC to overclock a 4P MC system?
 
Then go through the install steps:
Code:
cd ~
wget http://turionpowercontrol.googlecode.com/files/tpc-0.44-rc2.tar.gz
tar xvf tpc-0.44-rc2.tar.gz
cd tpc-0.44-rc2/src
make
sudo make install
[COLOR="Cyan"]sudo ln -sf /usr/bin/TurionPowerControl /usr/bin/tpc[/COLOR]

Is sudo ln -sf /usr/bin/TurionPowerControl /usr/bin/tpc still relevant in v0.44? I noticed in the history log, the compiled application has now included tpc for convenience.
 
Is sudo ln -sf /usr/bin/TurionPowerControl /usr/bin/tpc still relevant in v0.44? I noticed in the history log, the compiled application has now included tpc for convenience.

Good catch - it is not required anymore. I just updated the guide.
 
How do I get into the IRC? I have built a watercooled 4P 6386SE system but I am a noob at Ubuntu. I am having issues with getting some stuff to work (TPC and OCNG) so any help will be amazing.
 
Back
Top