Comments (6)
Neat! Keep in mind that the more threads there are, the weaker the search will be per visit. So you will get more visits, but those visits will be slightly less effective, because MCTS benefits from knowing the results of the previous visits when choosing how to spend the next ones.
This means that if you're at the point where numSearchThreads is maximizing visits/second - where increasing numSearchThreads further actually starts to decrease visits/second instead of increase it - then you're probably slightly too high, because at the point where the marginal +1 thread no longer helps performance much, it will still be decreasing strength per visit a little.
from katago.
What is the relationship of numNNServerThreadsPerModel and numSearchThreads to the hardware, such as number of CPU core and number of computing unit in GPU?
from katago.
@Splee99 - see #28 for a description of the parameters. I'll see about adding this information to a readme or something too on the next release.
from katago.
OK, thanks. Now this maybe a separate issue. My CPU has two cores. No matter how I set those parameters, the CPU usage is always 50%. It's like the second core is not used. I'm not sure if this is a Windows issue. When running leelazero both cores are used so there is no hardware issue. Maybe you want to take a look in the next release.
from katago.
That's a strange problem. I'm not sure what I would even begin take a look at. With regards to threading, KataGo is pretty unremarkable, using C++ standard library and nothing else. Sadly, I also don't have a good way to test on Windows quite yet, (very grateful to alreadydone for making something work on Windows well in advance of official support).
But maybe there are still things to try. Can you give some more info? For example, is it literally always exactly 50% when searching, or does it fluctuate? Is it still true if you increase numSearchThreads to a much larger number, much past the number of cores you have? If you check in Windows, did somehow a CPU affinity get set for KataGo in particular that restricts the cores it can use? https://superuser.com/questions/181577/what-is-windows-priority-and-affinity-and-what-advatanges-does-it-provide
If it's fluctuating around 50% rather than actually pinned at 50% exactly, a boring explanation could be that given how KataGo is implemented on the GPU and the particular ratio of CPU to GPU power and latency for the system you have, maybe the CPU is simply most of the time waiting on the GPU, enough so that the average usage is never more than 50%.
from katago.
You are right that the CPU usage is indeed light, while two cores are used. I guess that's how Katago is implemented and parameter tuning doesn't help.
from katago.
Related Issues (20)
- Train a weight‘s weight, to predict the value of the next Katago weight HOT 3
- How to use Katago 1.14.1 with time cache? HOT 1
- Issue in training: low visit counts and strange initial conditions(board dimensions, komi settings, piece position) HOT 2
- kata-genmove_analyze with KEYVALUEPAIR not working HOT 1
- A problem building for CUDA HOT 2
- Why does lc0 ship cuda dlls with engine but katago doesn't?
- Minor document questions
- Error checks for kata-raw-human-nn HOT 1
- How to set rules to "twisted cross and eating" for beginner HOT 2
- Throwback HOT 3
- Lack of ability HOT 3
- Katago cannot give a definitive answer for the best move. HOT 2
- Report an error HOT 3
- allowResignation affects humanSL strength?? HOT 4
- Loose ladder
- katago 1.15.1 build failure HOT 1
- Do you have a plan to create a GUI? HOT 4
- kata-analyze reports a non-human-like move for the preaz_20k human profile HOT 1
- Evaluate the value of moves HOT 2
- KataGo works with old libssl versions only HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from katago.