Announcement

Collapse
No announcement yet.

New tool for undervolt/overclock AMD K8L and K10 processors

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • So,

    I tried your command:

    Code:
    sudo TurionPowerControl -set core all pstate 0 frequency 2500 -fo 0
    My processors are still running at 2900 MHz.

    To monitor that, I am simply using Folding@Home. The time per frame is exactly the same before and after I entered the command, so I would say no modification has been made.

    I can also check that it is not working by putting something like:

    Code:
    sudo TurionPowerControl -set core all pstate 0 frequency 4000 -fo 0
    Which should freeze or reboot my computer since such a frequence is not possible.



    Moreover, I gave a try to K10ctl, and I see the same problem. Everything seems to work, but the benchmark show no modification of the speed of the CPU.

    I am trying to think that my motherboard is the limitation. The NorthBridge is Nvidia MCP55. Is it a problem? TPC and K10ctl are modifying the motherboard or directly the CPU?

    Thanks,
    anvil

    Comment


    • Originally posted by anvil_ocm View Post
      So,

      I tried your command:

      Code:
      sudo TurionPowerControl -set core all pstate 0 frequency 2500 -fo 0
      My processors are still running at 2900 MHz.

      To monitor that, I am simply using Folding@Home. The time per frame is exactly the same before and after I entered the command, so I would say no modification has been made.

      I can also check that it is not working by putting something like:

      Code:
      sudo TurionPowerControl -set core all pstate 0 frequency 4000 -fo 0
      Which should freeze or reboot my computer since such a frequence is not possible.



      Moreover, I gave a try to K10ctl, and I see the same problem. Everything seems to work, but the benchmark show no modification of the speed of the CPU.

      I am trying to think that my motherboard is the limitation. The NorthBridge is Nvidia MCP55. Is it a problem? TPC and K10ctl are modifying the motherboard or directly the CPU?

      Thanks,
      anvil
      Setting the frequency to 4000 Mhz simply doesn't work. The processor itself will limit itself to its nominal frequency if you exceed that value, so it will always run at 2900 Mhz even if you set it to 4000.

      On the contrary, it will probably freeze if you set the core voltage too low, for example 0.800v at 2900 Mhz. It will freeze for sure.

      The program will act on processor registers, so it is independent from the motherboard, but there could be some differences if your motherboard is an old AM2 motherboard. But even in such case, there should be no problems changing the processor frequency. AFAIK the only thing that prevents the frequency and voltage switching is the fact that at least a transition has to happen.

      You can try this command to see if your processor can be switched to a different pstate:

      > TurionPowerControl -fo 2

      and then see if your processor has switched to pstate 2 (1700 Mhz) measuring Folder@home performance.

      If so, you can issue the command I wrote in the previous post and see if has any effect. It is a bit strange to me, noone told be about bugs with these features.

      Comment


      • DM1z

        I have an HP DM1Z-2000. It has the K625 cpu in it. When I run turioncontrol in ubuntu 11.10 I can see my pstates with -l and I can set them so that they appear different in -l, but benchmarks are interesting. It always locs my CPU at its slowest factory pstate rate. I confirm this by running benchmarks. Is there something I am missing???


        UPDATE:

        Nevermind, I found out that is the result of me adding 100 mhz above the allowed max cpu frequency. When I set it to something lower than what it lists as the max allowed, it works as expected. That being said, I can use this program to undervolt my cpu to save battery, but not to overclock the cpu for more performance when I'm plugged in, is that correct??
        Last edited by creepingmee; 03 December 2011, 01:25 AM.

        Comment


        • Originally posted by creepingmee View Post
          I have an HP DM1Z-2000. It has the K625 cpu in it. When I run turioncontrol in ubuntu 11.10 I can see my pstates with -l and I can set them so that they appear different in -l, but benchmarks are interesting. It always locs my CPU at its slowest factory pstate rate. I confirm this by running benchmarks. Is there something I am missing???


          UPDATE:

          Nevermind, I found out that is the result of me adding 100 mhz above the allowed max cpu frequency. When I set it to something lower than what it lists as the max allowed, it works as expected. That being said, I can use this program to undervolt my cpu to save battery, but not to overclock the cpu for more performance when I'm plugged in, is that correct??
          Yes, it is correct.

          The processor allows itself to be configured for a higher frequency, but it just won't care. It will run at its maximum nominal frequency. (See the answer before yours).

          Comment


          • New TPC revision with Bulldozer support

            Hello, I'm reviving the thread to let you know that TurionPowerControl has been updated with Bulldozer (Family 15h) support.

            You can find it on google code project page:



            or on the project homepage:



            Feel free to toy around!

            Comment


            • Seems not to work for me:
              Turion Power States Optimization and Control - by blackshard - v0.422

              cpuid: pread: Invalid argument
              K10Processor::K10Processor - Fatal error during querying for Cpuid(0x80000001) instruction.
              Wrong node. Allowed range: 0--1
              Wrong core. Allowed range: 0--1
              Main processor is
              Family: 0x0 Model: 0x0 Stepping: 0x0
              Extended Family: 0x0 Extended Model: 0x0
              Package Type: 0x0 BrandId: 0x0
              Machine has 0 nodes
              Processor has 0 cores
              Processor has 0 p-states
              Processor has 0 boost states

              Power States table:

              I have cpuid module in the kernel (3.2.9). (TPC 0.40 didn't compile for me so I try 0.422). I have AMD Phenom II 960T (fam 10h, model 10). Is this one supported?

              Comment


              • Just to note, straight after this failure I compiled k10ctl and that one worked fine. From reading the docs it seems these programs have exactly the same requirements (kernel modules, /dev/ nodes etc).

                Comment


                • Thanks aceman.
                  At the moment I have one situation like yours, where the call to cpuid 0x80000001 fails.

                  The guy who had the same error was working on a machine with a EFI bios that, my guess, is preventing some kind of cpuid calls. Maybe if you're used to tweak bioses, you could check CPUID Max Limit settings.

                  Stay tuned, in the meantime I'll take a look to k10ctl if it is going to do the same cpuid call tpc does.

                  Comment


                  • Thanks for looking into it.

                    I have no cpuid level set in the BIOS. This machine runs Linux solely. I do not have EFI. Normal Asus M2N68 board, AM2+ socket (yeah with an AM3 CPU).
                    /proc/cpuinfo shows cpuid level of 6.

                    I can test any code if needed.

                    Comment


                    • There are some strange calls (in strace):

                      open("/dev/cpu/0/cpuid", O_RDONLY) = 3
                      pread64(3, "\240\17\20\0\0\10\4\0\t \200\0\377\373\213\27", 16, 1) = 16
                      close(3) = 0
                      open("/dev/cpu/0/cpuid", O_RDONLY) = 3
                      pread64(3, 0xbfae4100, 16, 18446744071562067969) = -1 EINVAL (Invalid argument)
                      dup(2) = 4
                      fcntl64(4, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
                      fstat64(4, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 17), ...}) = 0
                      mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb775d000
                      _llseek(4, 0, 0xbfae3efc, SEEK_CUR) = -1 ESPIPE (Illegal seek)
                      write(4, "cpuid: pread: Invalid argument\n", 30cpuid: pread: Invalid argument
                      ) = 30
                      close(4) = 0
                      munmap(0xb775d000, 4096) = 0
                      write(1, "K10Processor::K10Processor - Fat"..., 92K10Processor::K10Processor - Fatal error during querying for Cpuid(0x80000001) instruction.
                      ) = 92

                      Comment

                      Working...
                      X