New computer suggestions please

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

New computer suggestions please

Post by BubbaTough »

Considering starting working on Hannibal again. My development computer is old and broken; any suggestions on what hardware I should purchase that gives me good bang for the buck for running lots of simultaneous test games? It would be a nice bonus if the machine was also good for online tournament play, but that is not a priority.

-Sam
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: New computer suggestions please

Post by jdart »

You can pick up a 16-core dual Xeon (2x Xeon e5-2670) on ebay for about $800. These are usually systems that were leased and are now being resold. The per-core performance is not stellar but is pretty decent. Most are sold with Windows but you can install Linux.

--Jon
CheckersGuy
Posts: 273
Joined: Wed Aug 24, 2016 9:49 pm

Re: New computer suggestions please

Post by CheckersGuy »

Has anyone tried AMD's Threadripper yet ? Might be a good price for performance deal. 16 cores for about 1000$ which run at higher clocks than the xeon server chip
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: New computer suggestions please

Post by jdart »

It looks good but would be double the price of a used dual Xeon, once you add a mobo, memory, case, etc.

--Jon
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: New computer suggestions please

Post by BubbaTough »

What kind of memory per core do others use for testing?
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: New computer suggestions please

Post by AlvaroBegue »

BubbaTough wrote:What kind of memory per core do others use for testing?
Not a lot. In the last computer I bought I have 8 cores and 16 GB of RAM.

Since I am going to be running very fast games (otherwise there is no hope of accumulating enough statistics), I don't need a lot of memory for hash. I usually run with 128 MB for hash per process, which only amounts to 2 GB total (128 MB/process * 2 processes/core * 8 cores = 2 GB).
AndrewGrant
Posts: 1750
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: New computer suggestions please

Post by AndrewGrant »

Just got my 1950x in the mail the other day. Waiting for the cooler to arrive before trying it out.

Plan is to abuse 31 threads (1 left to OS) to run tests...
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: New computer suggestions please

Post by AlvaroBegue »

AndrewGrant wrote:Just got my 1950x in the mail the other day. Waiting for the cooler to arrive before trying it out.

Plan is to abuse 31 threads (1 left to OS) to run tests...
My impression is that hyper-threading doesn't work too well for chess, so I only use as many threads as I have cores (8 for Ryzen 7 1800X). But if you have evidence that what I am doing is suboptimal, I would like to hear about it.
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: New computer suggestions please

Post by BubbaTough »

I know some people have reported issues, but on my old computer I used hyper threading while testing and it seemed to work OK.

-Sam
AndrewGrant
Posts: 1750
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: New computer suggestions please

Post by AndrewGrant »

So I don't have a hyper threaded machine active at the moment, but you can test it for yourself. I use a quick script to determine time control scaling for my computers that are completing tests.

https://github.com/AndyGrant/EtherBench ... nchmark.py

Example for my engine (change the first number in the call to getBenchmark to change # of cores)

Code: Select all

Andy@POWERHOUSE ~/Desktop
$ python Benchmark.py Ethereal uci 13
Running benchmark for Ethereal
time is 8279.99997139ms
Average time is 8279.99997139ms

Andy@POWERHOUSE ~/Desktop
$ python Benchmark.py Ethereal uci 13
Running benchmark for EtherealR
unning benchmark for Ethereal
time is 8228.99961472ms
time is 8232.00106621ms
Average time is 8230.50034046ms

Andy@POWERHOUSE ~/Desktop
$ python Benchmark.py Ethereal uci 13
Running benchmark for Ethereal
Running benchmark for EtherealR
unning benchmark for Ethereal
time is 8243.99995804ms
time is 8251.9993782ms
time is 8254.9996376ms
Average time is 8250.33299128ms

Andy@POWERHOUSE ~/Desktop
$ python Benchmark.py Ethereal uci 13
Running benchmark for Ethereal
Running benchmark for Ethereal
Running benchmark for Ethereal
Running benchmark for Ethereal
time is 8523.00047874ms
time is 8577.00037956ms
time is 8632.999897ms
time is 8680.99927902ms
Average time is 8603.50000858ms
Small sample size here with just 1 run and only 4 cores, but in the 3core run you can see the benchmark times are VERY close. Different of 10ms in and 8 second run. When I throw all 4 cores at it, we see big variations in the run times.

Run this script for your engine at a few different number of cores, and see what the variances are between 7 cores, 8 cores, 14cores, 15 cores, and 16 cores. I would not mind seeing your results if you do this.

If you do try this, and on a Windows box, name your exe yourengine.exe, and when you run the program pass the argument yourengine, not yourengine.exe

I know some fishtest workers throw N-1 hyperthreaded cores, but I would imagine giving a whole core to the OS, not just 1 thread, is optimal. Hence why I asked about testing at 14 vs 15 threads.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )