Page 1 of 3

New computer suggestions please

Posted: Tue Oct 17, 2017 12:54 pm
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

Re: New computer suggestions please

Posted: Tue Oct 17, 2017 4:57 pm
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

Re: New computer suggestions please

Posted: Tue Oct 17, 2017 5:13 pm
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

Re: New computer suggestions please

Posted: Tue Oct 17, 2017 5:58 pm
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

Re: New computer suggestions please

Posted: Tue Oct 17, 2017 9:43 pm
by BubbaTough
What kind of memory per core do others use for testing?

Re: New computer suggestions please

Posted: Tue Oct 17, 2017 11:28 pm
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).

Re: New computer suggestions please

Posted: Tue Oct 17, 2017 11:39 pm
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...

Re: New computer suggestions please

Posted: Wed Oct 18, 2017 3:13 am
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.

Re: New computer suggestions please

Posted: Wed Oct 18, 2017 3:58 am
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

Re: New computer suggestions please

Posted: Wed Oct 18, 2017 4:38 am
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.