It successfully detected 2 cpu on my dual core PC.
On my 4 core (intel core i7 920) I was not watching when running the script to see if all 4 were detected.
Running with xboard, and then running top at the same time, when “thinking” it only goes up to 100% on one cpu, and the other cores are not tasked. This is true for both my dual core and four core PC … ie the 2nd cpu is not utilized.
Have you been successful on a dual core or four core PC ?
Well, yesterday I only looked at the learning feature (which seems to work fine btw.).
I just tested it on my Laptop (Intel Core Duo) and it seems that via polyglot it does not work completely (yet), I also read that there will be a new option “cores =” introduced in one of the next releases (when xboard officially supports it, which ATM is only in the 4.4.0 beta version).
Most of the time one core is up to 100% (2.53 GHz) and the second one is on low (0.8 GHz) and very rarely on middle (1.6 GHz) speed.
With scid and directly connecting to the engine via UCI protocol (which is the default in scid) the second core is used more often.
//Edit:
OK, now I used a quite complicated middlegame position and put it in analysis mode with scid => both cores fully used.
PID USER PR NI VIRT RES SHR S **%CPU** %MEM TIME+ COMMAND
19448 axel 20 0 347m 302m 1176 R **193** 7.6 2:59.77 DeepLearningToga
//Edit2:
And also with polyglot on the command line:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19536 axel 20 0 176m 147m 1172 R 189 3.7 1:40.85 DeepLearningToga
Hm, the “party pooper” is xboard, although using the same ini-file than befor with polyglot from CLI I don’t get the engine running on both cores.
I also can’t find the “threads” setting in the engine options of xboard although it is already defined inside the ini-file.
So the implementation does not seem to be complete at the moment (not even in the 4.4.0.beta).
//Edit:
OMG found it!
The “party pooper” is xboard, but not because of missing implementation.
Options => General Settings => “Max number of CPUs” … (and this is set to 1 by default …) After setting that to 2 I get:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19683 axel 20 0 113m 84m 1172 R 192 2.1 5:13.75 DeepLearningTog
There you have it, some RTFM later:
-smpCores number
Specifies the maximum number of CPUs an SMP engine is allowed to use. Only works for engines that sup-
port the WinBoard-protocol cores feature.
So adding “-smpCores 2” to the startup command should do it.
Wow, … ok… as soon as I sort this myself, I’ll update the wiki … Games/Chess - openSUSE
my current words about xboard / DeepLearningToga in the wiki is wrong. …
and I ended up with this in top with my Intel Core i7 920:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10811 lee 20 0 88172 68m 724 R 200 1.1 2:10.94 DeepLearningTog
10814 lee 20 0 157m 68m 1384 R 200 1.2 3:31.28 glaurung22.bin
Hmm … glaurung22, although not designed for 2xCPU is also using two. Something to do with Linux, I guess …
My knowledge here of multiple cpu operation is pathetic.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10890 lee 20 0 127m 70m 724 R 400 1.2 1:37.81 DeepLearningTog
10898 lee 20 0 158m 71m 1384 R 399 1.2 4:32.01 glaurung22.bin
I need to try the " smpCores x " criteria with some other engines. …
My suspicion is the code with DeepLearningThought more optimally uses the multiple cores than other chess applications.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11133 lee 20 0 127m 70m 724 R 399 1.2 1:10.65 DeepLearningTog
11130 lee 20 0 38324 17m 928 R 100 0.3 0:33.40 gnuchess
So, clearly gnuchess will not use multiple cores, … but it appears both glaurung22 and DeepLearningToga will use multiple cores. …
Me thinks I’ll have to stop and read some documentation.
2007-06-07: Glaurung 2 - epsilon/3
----------------------------------
The first public version with support for multiple CPUs. Unless you
have a dual-core (or better) computer, use Glaurung with a PolyGlot
book, or runs games with ponder on, you may want to skip this version,
which is almost certainly no stronger than 2 - epsilon/2 when running
on a single CPU.
Most of the engines I packaged support multiple cores (at least all UCI engines), GNUchess ist just too old I think (and not really actively maintaned).
//Edit:
And crafty supports this as well (of course), but you have to set this in ~./craftyrc.
cp /etc/crafty-rc ~/.craftyrc
And set
mt=0
(which I set as a safe default) to
mt=2
for 2 processors (or accordingly to 4, 8, whatever makes sense to you)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3348 axel 27 7 218m 170m 1324 R 196 4.3 0:13.31 crafty
Voilà.
BTW:
Maybe interesting for the Wiki:
My xboard-specific settings in ~/.Xresources:
!
! xboard stuff goes here
!
xboard*smpCores: 2 # For my Dual Core machine
xboard*boardSize: Large # Fits best on my screen , a list of possible settings can be found in "man xboard"
xboard*niceEngines: 7 # default is 5, see "man nice" for more information.
xboard*egtFormats: nalimov:/usr/share/crafty/tb/,scorpio:/usr/share/egbb/ # crafty contains small Nalimov tablebases, the second entry is for (hand installed) tablebases used with libegbb3
And another improvement (hopefully) was checked in for the packages containing UCI engines.
Every respective package contains a startup script to facilitate starting xboard with two different engines.
The x$NAME_OF_ENGINE scripts are still present, but they start xboard with the respective engine as first and second chess program in xboard, which of course is not really useful for engine1 vs. engine2 matches.
As one can see in the earlier posts, starting up xboard with two different engines including at least one of the UCI engines leads to commands like these:
I don’t think I’m familiar enough with X and various directory practises to understand all that you are indicating. On my PC with the various engines installed (including crafty) I have no ~/.craftyrc nor any ~/.Xresources … Is it the naming convention that I am stumbling on?
New stable version of scid 4.0 was released on Sep. 01. 2009.
The package “scid” in my repo has been updated, package “scid-beta” has been removed.
Update via YaST/zypper should automatically replace “scid-beta 3.9.9-something” with “scid-4.0” (at least it worked on my installations without any problems).
No worries. I read that before, but did not appreciate its relevance. … Too many other things on the go perhaps, … or possibly because I’m just naturally too slow. :X rotfl!
A promising database interface written in QT (for me as KDE user even more interesting).
However, although compiling works flawlessly, there is no “install” routine in the Makefile and as I don’t “speak even a word of qmake” it might be a little more difficult to package that, especially because the more serious problem I am facing is the fact, that the program expects its shared data at very unusual (at least for openSUSE) paths which seem to be hardcoded, so I would have to find all those places in the source and patch them to use “the usual” paths.
If you want to test it, simply compile it with “qmake && make” and run the executable inside the “bin” folder located in the unpacked tarball. That works fine, but building an installable RPM is of course another story.
There was also another very promising QT-GUI for chess and a lot more board games:
“Was”, as it appears to be dead and with the very fast growing development for KDE 4.x since then, I don’t see the point in even trying to get that one to compile (I found a deb-package and when downloading the respective “diff.gz”, which is the patchset debian applies to build their packages, got a little dizzy by the amount of patches needed to compile that beast on a rather recent version of QT/KDE4, so even if I would be able to package it now, maintaining that package for the upcoming KDE4/QT releases would be a serious PITA).
30 Minutes of trying to find the respective lines in the source code
5 Minutes of trying to figure out, what that stuff actually does
and finally
1 Minute for writing a “patch” (a stupid little 3 liner) to get things the way I wanted them to be
So here we go:
**C) GUI Frontends **
xboard (version 4.4.0.beta2)
The most well known chess GUI for *NIX-type OSes. All engines above contain simple startup scripts to launch them with xboard (i.e. xcrafty, xglaurung121, xscorpio22 …).
eboard (version 1.1.1)
Nice GUI written in GTK+ 2, works only with winboard compatible engines natively, if you want to use an UCI engine with eboard, you need polyglot as UCI adapter.
scid (version 4.0)
A great database application, highly configurable with a lot of features, it also loads UCI engines directly (so no polyglot needed here).
Version 4 of scid uses a new database format, old databases can be converted quite easily, however, as this is a development release => BACKUP YOUR OLD DATABASES!
chessx (version 0.6.99 = “a 0.7 pre version from SVN”)
A nice database application written in C++ and using QT4 for the GUI.
Although it does not have nearly all the features of scid (yet), this little tool gives you the basic features:
ChessX is a chess database. With ChessX you can operate on your collection of chess games in many ways: browse, edit, add, organize, analyze, etc.
ChessX is totally free and open source. You can simply download and use it as is, or modify it the way you like under the GPL licence.
ChessX is cross-platform. You can use it indifferently on Linux, Windows and Mac OS X.
If you are interested in details, ChessX is written in C++ programming language and uses Qt library to have a modern and portable graphical interface.
It can load xboard and UCI engines (either directly or via polyglot) for analyzing games, databases are (still? read something about “Open Database class” in the TODO file) handled in pgn-format.
Note: Builds for chessx have been checked in, however OBS seems to be a little slow at the moment, so it may take a few hours until the packages arrive in the repo, search for “chessx” to find them.
Please yourself if you must. We removed your signature for T&C violation.
We wanted to discuss it with you privately.
If you would like to discuss it, you can email or PM a staff member and any
discussion in this thread about it will be removed.