-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High memory usage (original: Tree doesn't grow beyond 6 million Nodes) #152
Comments
Hello @MagicianofRiga , I just tested it on my desktop machine using the ClassicAra 0.9.5 executable. $ ./CrazyAra_ClassicAra_MultiAra_0.9.5_Linux_TensorRT/ClassicAra
isready
position startpos
go infinite
...
info depth 41 seldepth 61 multipv 1 score cp 31 nodes 17000024 nps 14257 tbhits 0 time 1192437 pv d2d4 d7d5 c2c4 c7c6 b1c3 g8f6 c4d5 c6d5 g1f3 b8c6 c1f4 a7a6 e2e3 c8g4 h2h3 g4f3 d1f3 e7e6 f1d3 c6b4 d3b1 a8c8 e1g1 f8d6 f4g5 h7h6 g5h4 e8g8 f3e2 d6e7 f2f4 b4c6 g2g4 f6e8 h4g3 e8d6 f4f5 e7h4 g3h2 f8e8 f5e6
info string rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
bestmove d2d4
info string apply move to tree
root
# | Move | Visits | Policy | Q-values | CP | Type
-----+-------+--------------+-----------+------------+-------+------------
001 | d4 | 15916915 | 0.1981373 | 0.0998159 | 31 | UNSOLVED
000 | e4 | 531758 | 0.6484740 | 0.0529837 | 16 | UNSOLVED
002 | Nf3 | 106669 | 0.0669805 | 0.0752128 | 23 | UNSOLVED
003 | c4 | 51625 | 0.0401248 | 0.0676878 | 20 | UNSOLVED
010 | c3 | 26822 | 0.0014303 | -0.0103028 | -3 | UNSOLVED
019 | f3 | 26821 | 0.0000890 | -0.0903614 | -28 | UNSOLVED
008 | e3 | 26730 | 0.0041160 | 0.0041643 | 1 | UNSOLVED
009 | d3 | 26723 | 0.0017874 | -0.0385385 | -11 | UNSOLVED
005 | g3 | 26697 | 0.0102718 | 0.0302087 | 9 | UNSOLVED
007 | b3 | 26654 | 0.0052031 | -0.0252461 | -7 | UNSOLVED
013 | h4 | 26618 | 0.0006316 | -0.0421854 | -12 | UNSOLVED
016 | Na3 | 26590 | 0.0003413 | -0.0799976 | -24 | UNSOLVED
006 | Nc3 | 26544 | 0.0073106 | 0.0086331 | 2 | UNSOLVED
018 | h3 | 26524 | 0.0000947 | -0.0251692 | -7 | UNSOLVED
017 | Nh3 | 26500 | 0.0002794 | -0.0697391 | -21 | UNSOLVED
011 | b4 | 26486 | 0.0011651 | -0.0404012 | -12 | UNSOLVED
004 | f4 | 26422 | 0.0116823 | -0.0581965 | -17 | UNSOLVED
014 | g4 | 26377 | 0.0005855 | -0.1250571 | -39 | UNSOLVED
012 | a3 | 26321 | 0.0008925 | -0.0210689 | -6 | UNSOLVED
015 | a4 | 26233 | 0.0004028 | -0.0606963 | -18 | UNSOLVED
-----+-------+--------------+-----------+------------+-------+------------
initial value: 0.0941720
nodeType: UNSOLVED
isTerminal: 0
isTablebase: 0
unsolvedNodes: 20
Visits: 17032028
freeVisits: 32004/17032028 In this case, it allocated 17.1 GiB for 17 million nodes. That is a lot honestly. Previously, we had the problem that one was only able to allocate up to 16.7 million nodes because of reaching a variable overflow (#39). This has been fixed by changing the data type from Reducing the memory consumption, is on the TODO list for future versions.
I'm not sure if you are interested in collaborating via coding. If so, you can follow the build instructions in the wiki pages. If you want, you can start working on the memory issue, e.g. one approach would be to replace the vectors in the CrazyAra/engine/src/nodedata.h Line 90 in 0f3d60f
However, I'm afraid that working on this problem is not ideal for newcomers to the project, as it requires a lot of refactoring and a good understanding of the code base. You can also write me a mail using the mail adress given on my profile page. |
Hi Johannes, I will take a serious look at helping with reinforcement learning, though right now my focus is only on the Classic Ara part of your project as that holds maximum relevance to what I am doing (high level correspondence chess). Best wishes, |
Sure, creating a new issue which summarizes problematic positions for ClassicAra can help fixing search problems. One common way to analyze a chess engine strength and weaknesses is to use test suites such as the Eigenmann Rapid Engine Test (ERET-Test).
However, test suites cannot fully replace traditional Elo testing. |
Hi Johannes! |
Hello again @MagicianofRiga ! However, this requires using linux. Alternatively, you may install the dependencies from the requirements.txt file. If you want to use supervised learning, you need to create a data set from pgn files first.
The configuration files can be found here: You need to rename An exemplary data set for crazyhouse can be found downloaded here: The current training is done in MXNet. The class The current reporistory can be used as reference: ONNX is used as the main network format right now to allow a flexible exchange between different DL-frameworks. |
Thanks for the response! Will WSL (Windows Subsystem for Linux) work instead? |
Sadly no, but I may be wrong about this. |
Hi Johannes, |
Hello Tanmay Srinath, |
Thanks! |
Hi, I added instructions for building CrazyAra on Windows in the wiki: Currently, I'm building the binaries for Windows manually according to the wiki-pages. |
Hi Johannes,
First of all, congratulations on your latest release! This engine plays remarkably different from any others I have seen, and it seems to do so at a very high level.
I noticed an issue in infinite analysis. Once the engine hit somewhere between 5 and 6 million nodes it slowed down quite dramatically and didn't grow much after 6.3 million. Is this issue due to RAM limit?
My PC:
Thank you for your wonderful contribution to chess! Let me know how I can reach you out for a potential collaboration.
Tanmay Srinath.
The text was updated successfully, but these errors were encountered: