Author: Manuel J. Petit de Gabriel
Date: 12:37:11 04/09/99
Go up one level in this thread
On April 08, 1999 at 08:12:09, David Blackman wrote: >On April 07, 1999 at 16:20:29, José de Jesús García Ruvalcaba wrote: > >> I have compiled Faile for my Sparc/Solaris machine, with different compilers >>and different options. But it uses very little cpu time. >> My other engines usually go to 50% cpu (it is a two-processor machine, so they >>are using a full cpu). >> At first Faile used about 22%, compiled with gcc and its standard makefile. The >>first version compiled wuth cc used even less processor time. I have compiled it >>again a few times with different options. The best one is consistently using >>over 30% in the middle-game and has peaked to 40% in the endgame. >> Those figures are better than the first ones, but still far from what I >>consider "good" (that would mean 49% at least). >> Any suggestions to increase the cpu usage? BTW, all those figures are without >>any other process (but the systems ones and xboard) running. >> Thanks in advance. > >Does the hard disc work very hard while the program is running? Maybe you need >to set it to use smaller transposition tables. > >Do these cpu figures include both user and system cpu time for the program, or >just user time? If the program is burning lots of system time, maybe you have a >problem with un-aligned memory accesses being trapped and emulated in the >kernel. No unaligned memory access in a sparc box: unaligned accesses are not trapped into kernel but a SIGBUS is delivered to the program (killing it). I assume that José is getting statistics for the program using the top utility, am I right? If so my guess is that Faile is multithreaded: top in solaris has an annoying behaviour. It only shows the stats for the first LWP in the proccess. You can check wether the program is multithreaded by looking at the Makefile to see if -lthread or -lpthread (or both) are appended to the link command. Alternatively try: ldd faile if it shows either: libpthread.so libthread.so or both, the program is multithreaded. To check the load share across CPUs you can try vmstat and mpstat. Vmstat gives summary info (the system as a single). Mpstat gives detailed info for every CPU (page faults, sys time, user time, interrupts handled by each CPU and more). Try the command 'mpstat 1' which will put a line of info for evey CPU every second. Check with 'vmstat 1' the number of running processes (LWPs in fact). Hope this helps. manuel,
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.