GithubHelp home page GithubHelp logo

Comments (12)

jakhac avatar jakhac commented on August 18, 2024

Hi, I am unable to reproduce this behavior for both manually embedded NNUE files (via make release evalfile=absolute/path/to/...nnue) and with the cutechess-gui settings. I am also on Ubuntu 22.04 and everything seems to work.

  • Please make sure that you embed NNUE files only from this repository since other network files might use a different network structure and thus incompatible weights and biases.

  • Also note that the path for for the NNUE file should be absolute.

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

i kind of solved it thanks to your tips .. i did several compiles, but the only one (not sure though) that works is compiling by just make release and adding the (absolute path to) the nnue file as value of the EvalFile in the CuteChess options window .. this way Chai also plays in CuteChess without the nnue file .. so, embedding a nnue file while compiling does not work here .. i have a rarher modern notebook with avx2, but when i enable this option while compiling, the binary seems OK in terminal but in CuteChess it fails .. its log shows no errors etc. .. what do you suggest to fully solve this for me? i can show you logs or terminal output ..

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

btw. i have no spaces in my path .. so adding quotes wouldn't be needed !?

from chai.

jakhac avatar jakhac commented on August 18, 2024

Hi, a few comments:

  • The AVX2 flag is enabled by default. It does not make a difference if you actively choose avx2=y. (same for ssse3)
  • Do not use quotes for the evalfile path. For example, I use make release evalfile=~/Downloads/nn-5e6b321f90-20221001.nnue -j
  • Loading a NNUE file with the evalfile settings option in the CuteChess GUI should also be the common choice. If that works for you, I do not see further issues. (?)
  • If you still want to embed a NNUE file during compilation, try the following: After compiling with the evalfile option, run the engine from terminal (with ./chai_v3.4.2). Then, you should see a log NNUE is now active. and if you type s, a test search is performed. If any errors are shown, these would be helpful for me to solve the issue for you. If there are no errors, then this binary also has to work with CuteChess.
  • Also, which NNUE file are you using?

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

thanks. As i stated, in fact i solved the problem, i can compile and run Chai v3.4.2 now, but today i will try and test more, according to your info .. then we can find the error or my mistake :-)

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

i must still find the time to test .. maybe later.

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

i just compiled again (by just make release) and i discovered not all NNUE files seem to work :

$ ./chai_v3.4.2_compiled
chai v3.4.2
assert=0 buckets=3 threads=1/2 hashMb=256 simd=AVX2
compiler=gnu 11.3.0 date=Dec 20 2022

uci
id name chai_v3.4.2
id author Jakob Hackstein
option name Hash type spin default 256 min 2 max 8192
option name Threads type spin default 1 min 1 max 2
option name SyzygyPath type string default ""
option name EvalFile type string default ""
uciok
ucinewgame
setoption name EvalFile value /home/roelof/Apps/ChessEngines/Chai/nn-b1c332ae1d-20220613.nnue
info string Error: NNUE parsed incorrect hash value.
setoption name EvalFile value /home/roelof/Apps/ChessEngines/Chai/nn-7e8d2f1670-20220202.nnue
info string NNUE parsed successfully.

As you can see this is a test from the command line. Then i do eg. "go depth 16" and Chai nicely gives info lines and comes with a best move. But in CuteChess it still fails : "(Black) disconnects" .. NOTE: i filled the absolute path of that nn-7e8d2.. nnue file, without quotes.

from chai.

jakhac avatar jakhac commented on August 18, 2024

Some NNUE files indeed throw an error, thank you for letting me know. I refer to third-party weights including a hash verification, which I re-implemented. Although both of your tested networks have the same structure and pass all my tests, one hash verification fails. I updated chai to only warn about this issue and not fail anymore (since the nets seem to work fine), so you can use both networks now.

I also tried to reproduce the cutechess error but it is working on my end. In the GUI, I just added the /home/.../...nnue path and when using the cli, I use the following command:

./cutechess-cli -engine name=chai1 cmd=./chai_v3.4.2 dir=/home/jakhac/Repositories/cutechess/engines option.EvalFile=/home/jakhac/Repositories/chai/nets/nn-7e8d2f1670-20220202.nnue -engine name=chai2 cmd=./chai_v3.4.2 dir=/home/jakhac/Repositories/cutechess/engines option.EvalFile=/home/jakhac/Repositories/chai/nets/nn-7e8d2f1670-20220202.nnue -each proto=uci tc=40/60 -rounds 10 -debug

which also works. It is really hard to fix this issue if I am unable to reproduce it, but maybe the cli command is working for you.

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

you're almost there : i tested the newest version (compiled cloned src) and indeed it works with both those NNs -- i saw the warning about the NNUE .. but i discovered this : it only works in CuteChess GUI with Hash 256 Mb : when setting 128 Mb Hash Chai fails with "(Black) disconnects" !? Maybe you did test with that default 256 Mb and could not reproduce "my" error ..

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

btw. normally i give each engine max 128 Mb and 2 threads.

from chai.

jakhac avatar jakhac commented on August 18, 2024

Yep, the engine crashed after resizing the hash table! This is fixed now in the latest commit. I believe that the NNUE verification and Hash-resizing were the only problems, but let me know if there are further issues.

from chai.

tissatussa avatar tissatussa commented on August 18, 2024

yes, i think you solved the NNUE and the Hash issue : i tested the newest compile in CuteChess GUI with 128 Mb Hash, with(out) NNUE and i no longer have problems. Maybe you should update the version number ?

from chai.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.