kszysiu / turionpowercontrol-archive-20150824

Turion Power Control archive, 20150824
2 stars 1 forks source link

Detected cores on bulldozer dont matches #22

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The cores detected by TPC with bulldozer 8150, dont matches. Only 4 cores 
detected when they are 8. If you check howto handle TPC the detected cores with 
AMD PSCheck program, you can see how the handle cores are wrong.

Original issue reported on code.google.com by arfg...@gmail.com on 6 Apr 2014 at 6:42

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Thanks for the report.

Unfortunately I don't have an FX processor I can test with so I'll need your 
help.

Which version of tpc were you using at that time?

Also, can you post complete output of TPC that shows 4 detected cores?
In addition, please post output of: TurionPowerControl -l

Original comment by kszy...@gmail.com on 20 Jun 2014 at 12:45

GoogleCodeExporter commented 9 years ago
TurionPowerControl 0.44-rc2 (tpc-0.44-rc2-r144)
Turion Power States Optimization and Control - by blackshard

Main processor is Family 15h (Bulldozer/Interlagos/Valencia) Processor
        Family: 0xf             Model: 0x2              Stepping: 0x0
        Extended Family: 0x15   Extended Model: 0x2
        Package Type: 0x1       BrandId: 0x0
Machine has 1 nodes
Processor has 4 cores
Processor has 7 p-states
Processor has 2 boost states

Power States table:
-- Node: 0 Core 0
core 0 pstate 0 (pb0) - En:1 VID:24 FID:24 DID:0.00 Freq:4000 VCore:1.2500
core 0 pstate 1 (pb1) - En:1 VID:28 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 0 pstate 2 (p0) - En:1 VID:36 FID:19 DID:0.00 Freq:3500 VCore:1.1000
core 0 pstate 3 (p1) - En:1 VID:46 FID:13 DID:0.00 Freq:2900 VCore:0.9750
core 0 pstate 4 (p2) - En:1 VID:52 FID:7 DID:0.00 Freq:2300 VCore:0.9000
core 0 pstate 5 (p3) - En:1 VID:56 FID:1 DID:0.00 Freq:1700 VCore:0.8500
core 0 pstate 6 (p4) - En:1 VID:60 FID:12 DID:1.00 Freq:1400 VCore:0.8000
-- Node: 0 Core 1
core 1 pstate 0 (pb0) - En:1 VID:24 FID:24 DID:0.00 Freq:4000 VCore:1.2500
core 1 pstate 1 (pb1) - En:1 VID:28 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 1 pstate 2 (p0) - En:1 VID:36 FID:19 DID:0.00 Freq:3500 VCore:1.1000
core 1 pstate 3 (p1) - En:1 VID:46 FID:13 DID:0.00 Freq:2900 VCore:0.9750
core 1 pstate 4 (p2) - En:1 VID:52 FID:7 DID:0.00 Freq:2300 VCore:0.9000
core 1 pstate 5 (p3) - En:1 VID:56 FID:1 DID:0.00 Freq:1700 VCore:0.8500
core 1 pstate 6 (p4) - En:1 VID:60 FID:12 DID:1.00 Freq:1400 VCore:0.8000
-- Node: 0 Core 2
core 2 pstate 0 (pb0) - En:1 VID:24 FID:24 DID:0.00 Freq:4000 VCore:1.2500
core 2 pstate 1 (pb1) - En:1 VID:28 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 2 pstate 2 (p0) - En:1 VID:36 FID:19 DID:0.00 Freq:3500 VCore:1.1000
core 2 pstate 3 (p1) - En:1 VID:46 FID:13 DID:0.00 Freq:2900 VCore:0.9750
core 2 pstate 4 (p2) - En:1 VID:52 FID:7 DID:0.00 Freq:2300 VCore:0.9000
core 2 pstate 5 (p3) - En:1 VID:56 FID:1 DID:0.00 Freq:1700 VCore:0.8500
core 2 pstate 6 (p4) - En:1 VID:60 FID:12 DID:1.00 Freq:1400 VCore:0.8000
-- Node: 0 Core 3
core 3 pstate 0 (pb0) - En:1 VID:24 FID:24 DID:0.00 Freq:4000 VCore:1.2500
core 3 pstate 1 (pb1) - En:1 VID:28 FID:21 DID:0.00 Freq:3700 VCore:1.2000
core 3 pstate 2 (p0) - En:1 VID:36 FID:19 DID:0.00 Freq:3500 VCore:1.1000
core 3 pstate 3 (p1) - En:1 VID:46 FID:13 DID:0.00 Freq:2900 VCore:0.9750
core 3 pstate 4 (p2) - En:1 VID:52 FID:7 DID:0.00 Freq:2300 VCore:0.9000
core 3 pstate 5 (p3) - En:1 VID:56 FID:1 DID:0.00 Freq:1700 VCore:0.8500
core 3 pstate 6 (p4) - En:1 VID:60 FID:12 DID:1.00 Freq:1400 VCore:0.8000

 --- Node 0:
Processor Maximum PState: 6
Processor Startup PState: 6
Processor Maximum Operating Frequency: No maximum defined. Unlocked multiplier.

Minimum allowed VID: 123 (0.0125V) - Maximum allowed VID 0 (1.5500V)
Processor AltVID: 53 (0.8875V)

Done.

000     1400000                 01 sec 006 ms   5270498306 sec 767 ms   100
001     1365000                 01 sec 006 ms   5270498306 sec 767 ms   100
002     1400000                 01 sec 006 ms   5270498306 sec 767 ms   100
003     1365000                 01 sec 006 ms   5270498306 sec 767 ms   100
004     3535000                 01 sec 004 ms   5270498306 sec 770 ms   100
005     3535000                 01 sec 004 ms   5270498306 sec 770 ms   100
006     3535000                 01 sec 004 ms   5270498306 sec 769 ms   100
007     3535000                 01 sec 004 ms   5270498306 sec 769 ms   100

I tried fixing it by simply removing the ECX lower bits divide by two but it 
also reduces the frequency.

Original comment by d...@lessconfused.com on 7 Jul 2014 at 8:44

GoogleCodeExporter commented 9 years ago
ok, do you have some binary file to test it ?

I checked how sometimes the handle cores matches but others not, at
least not all of them.

thx in advance.

El 07/07/2014 10:44, turionpowercontrol@googlecode.com escribi�:

Original comment by arfg...@gmail.com on 7 Jul 2014 at 2:08

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
You're right. The division by 2 shouldn't be performed on single-node processors
(such as the FX).

I've fixed the detection of nodes-per-CPU and made the code use it.

Can you try SVN revision 183 and see if it reports all 8 cores?

When you say the frequency is reduced, what do you mean? (I'm a bit lost here)
Where do you see reduced frequency? Is it in TPC or somewhere else?

Original comment by kszy...@gmail.com on 7 Jul 2014 at 3:43

GoogleCodeExporter commented 9 years ago
arfghie, I'll build r183 for you shortly. What platform (Linux/Windows 
32-bit/64-bit)
are you using?

Original comment by kszy...@gmail.com on 7 Jul 2014 at 3:48

GoogleCodeExporter commented 9 years ago
I've uploaded 32 and 64-bit Linux builds of r183 to: 
http://darkswarm.org/tpc/testing/r183/

arfghie, let know if you need a Windows build.

Thanks guys!

Original comment by kszy...@gmail.com on 7 Jul 2014 at 4:17

GoogleCodeExporter commented 9 years ago
i use windows xp x64 sp2. So x83 and x64, both should work fine.

I want to ask also for the ability to run the tpc command line to retrieve the 
cpu usage without no dos window required. In fact i have performed the same 
using the 'RTconsole.ese' program. Can you please add that feature ? Doing the 
same to get the cpu temperature i am able to hide the window, but not the cores 
usage, for some reasson.

thx in advance

Original comment by arfg...@gmail.com on 7 Jul 2014 at 4:45

GoogleCodeExporter commented 9 years ago
arfghie, I've added windows builds of r183 to 
http://darkswarm.org/tpc/testing/r183/

Just add them to tpc directory and see how they fare. Thank you!

I need to run now but I'll have couple more questions for you later :)

Original comment by kszy...@gmail.com on 8 Jul 2014 at 8:43

GoogleCodeExporter commented 9 years ago
thx, but the first difference i have seen is that i cant run tpc with the 
follow parameters for the api CreateProcess: 

        .dwFlags = STARTF_USESHOWWINDOW Or STARTF_USESTDHANDLES
        .wShowWindow = SW_HIDE 'hide the window

I am trying to run tpc from my program in order to retrieve information. With 
the previous version the api worked fine, but not now. If i use these 
parameters tpc keeps on the background doing nothing.

Original comment by arfg...@gmail.com on 8 Jul 2014 at 10:44

GoogleCodeExporter commented 9 years ago
It might be due to the mingw version I've got here.

I can fix that but for now can you confirm if tpc works the way you expect when 
run from cmd window?

Original comment by kszy...@gmail.com on 8 Jul 2014 at 11:49

GoogleCodeExporter commented 9 years ago
yes, the way that i expect is to get the return data from tpc. Example 'tpc 
-l', and my program get the returned information reading its pipe. For that 
reasson i need to be able to do that but, with the tpc window hide.

I have tested the detected cores on the new build and i can confirm that works 
fine !
But now another problem was revealed. If you see how AMD PScheck works, when we 
click for example on the 'P3' of core 0, the same 'P3' on the core 1 is 
highlighted. I thik that is the way that works this processor, that has 4 
physic cores and 4 logic cores. I think that they works in a tandem. And the 
question is, from tpc they are totally unsorted and the sort changes on all the 
runnings. Exist a way to sort each physic core with its logic core to be one 
behind the other like in PScheck ?

thx in advance

Original comment by arfg...@gmail.com on 8 Jul 2014 at 12:03

GoogleCodeExporter commented 9 years ago
Cool, thanks for the confirmation.

Can you tell me if binaries at: http://darkswarm.org/tpc/testing/r184/ behave 
better
when you call them from your application? They are built the same way 0.44-rc2 
was
built.

I'll close this issue shortly and fork new issues from your comments.

Thank you :)

Original comment by kszy...@gmail.com on 12 Jul 2014 at 5:07

GoogleCodeExporter commented 9 years ago
the problem i have, for some reasson, i can read from my program the pstates 
information thrown by  tpc -CM. But, without the use of RTconsole.exe 
intermediate program, i cant do the same with the cores usage thrown by tpc 
-perf-cpuusage.

For that reasson i want to ask you for new switches that show only a single 
result and tpc finish its execution. Example:

tpc -cpuusage
tpc -psusage

both working like does for example 'tpc -temp'

Original comment by arfg...@gmail.com on 12 Jul 2014 at 9:17

GoogleCodeExporter commented 9 years ago
other solution it should be if tpc send the last cores usage line to its window 
caption. I can read that line from there, and the problem is over.

Original comment by arfg...@gmail.com on 12 Jul 2014 at 10:01

GoogleCodeExporter commented 9 years ago
Commits r182 and r183 resolve reported issue.

External app integration (frontend) issues are being tracked in issue #25.

Original comment by kszy...@gmail.com on 21 Nov 2014 at 9:36