Code:
1) Download and install Python 2.7.3 (last 2.x package and x86!)
Website:
http://www.python.org/download/releases/2.7.3/
Package to download and install:
Windows x86 MSI Installer (2.7.3)
http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
Installation step-by-step:
- Install for all users
- Install it to some directory (I choose 'D:\Python27')
- Install it with all the features
- Next, next, finish, done
2) Get the sources
Download https://github.com/glinscott/fishtest/archive/master.zip, and unzip it to a new directory.
For example, 'd:\fishtest'.
3) User/pass
Get a username/password pair from Marco/Gary :)
4) Running the worker process
Open a command prompt in 'd:\fishtest\worker\' and type:
'd:\Python27\python.exe worker.py --concurrency <cores> <username> <password>'
[Option concurrency refers to the number of available cores in your system (not including Hyperthreaded cores!), leaving one core for the OS. For example, on my 4 core machine, I use --concurrency 3.]
5) Let it run :)
Get username/password
Please e-mail me at gmail.com, username "glinscott", and we will give you your username and password.
ChessDrone wrote:Hyperthreading in Intel processors can cause such misunderstanding concerning the threads attached to an engine is inversly proportional to the CPU usage as the CPU usage is calculated depending on the cores usage not the threads. Therefore, it is always recommended to turn off Hyperthreading for better performance, however in some motherboards it is not available to control the HT, like mine; so when setting a fair test or trying to attach a specified no. of cores to an engine, you need to represent each core with two threads. In your case, if you wanted to attach 50% of the cpu or 2 cores out of 4, you would attach 4 threads out of 8 to the engine. Moreover, it is possible to attach 1 core and a half to engines (3 threads) when hyper threading is enabled which is a minor advantage.Well, it's done, it's over! Fast and Easy! Thank you!
I have a question.
On a machine I have an intel i7 (4 cores 8 threads). I put concurrency "2" (knowing that this figure refers to real cores). But in the task manager, the uc is arround only 25% while I expected to see 50%.
Puting '2 'in my case, it is similar to one core multi-threaded
So in a multi-threaded system, it is not about real core but the threads?
The test will not be biased?
Code:
else:
worker_threads = 1
games_to_play = games_remaining
pgnout = ['-pgnout', 'results.pgn']
# Run cutechess-cli binary
cmd = [ cutechess, '-repeat', '-rounds', str(games_to_play), '-tournament', 'gauntlet'] + pgnout + \
['-resign', 'movecount=3', 'score=400', '-draw', 'movenumber=34',
'movecount=8', 'score=20', '-concurrency', str(games_concurrency)] + pgn_cmd + \
['-engine', 'name=stockfish', 'cmd=stockfish'] + new_options + \
['_clop_','-engine', 'name=base', 'cmd=base'] + base_options + \
['_clop_','-each', 'proto=uci', 'option.Threads=%d' % (threads), 'tc=%s' % (scaled_tc)] + book_cmd
Code:
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%Y%m%d-%H%M')
Code:
pgnout = ['-pgnout', 'results.pgn']
Code:
pgnout = ['-pgnout', 'results-%s.pgn' % st]
Code:
, 'whitepov=false'
Code:
else:
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%Y%m%d-%H%M')
worker_threads = 1
games_to_play = games_remaining
pgnout = ['-pgnout', 'results-%s.pgn' % st]
# Run cutechess-cli binary
cmd = [ cutechess, '-repeat', '-rounds', str(games_to_play), '-tournament', 'gauntlet'] + pgnout + \
['-resign', 'movecount=3', 'score=400', '-draw', 'movenumber=34',
'movecount=8', 'score=20', '-concurrency', str(games_concurrency)] + pgn_cmd + \
['-engine', 'name=stockfish', 'cmd=stockfish'] + new_options + \
['_clop_','-engine', 'name=base', 'cmd=base'] + base_options + \
['_clop_','-each', 'proto=uci', 'whitepov=false', 'option.Threads=%d' % (threads), 'tc=%s' % (scaled_tc)] + book_cmd
4) Running the worker process
Open a command prompt in 'd:\fishtest\worker\' and type:
'd:\Python27\python.exe worker.py --concurrency 3 <username> <password>'
[Option concurrency refers to the number of available cores in your system (not including Hyperthreaded cores!), leaving one core for the OS. For example, on my 4 core machine, I use --concurrency 3.]
|
|