Sayuri 2016.01.31 Released!!

25 views
Skip to first unread message

石橋宏之利

unread,
Jan 31, 2016, 2:27:33 AM1/31/16
to Sayuri - UCI Chess Engine
Sayuri 2016.01.31 Released!!
  • Sayulisp supports command line arguments.
  • Added (system) function to Sayulisp.
Thank you.

dr.mi...@cvachovec.de

unread,
Feb 1, 2016, 4:13:31 AM2/1/16
to Sayuri - UCI Chess Engine
Hello!

I tried to compile your engine on a raspberry pi b model (armv7). Using:
g++ -std=c++11 -fno-rtti -Ofast -march=native -pthread -o sayuri *.cpp
While the engine compiles without an error it´s 29MB large and doesn´t work. Any Suggestions?
Cheers Michael

石橋宏之利

unread,
Feb 1, 2016, 10:22:07 AM2/1/16
to Sayuri - UCI Chess Engine, dr.mi...@cvachovec.de
To Michael

I think its main memory size is not enough.
Sayuri uses 32MB for hash table as default.
If you use Raspberry Pi "2", Sayuri "may" work correctly.

Thank you.

Hironori Ishibashi


2016年2月1日月曜日 18時13分31秒 UTC+9 dr.mi...@cvachovec.de:

dr.mi...@cvachovec.de

unread,
Feb 2, 2016, 3:05:58 AM2/2/16
to Sayuri - UCI Chess Engine, dr.mi...@cvachovec.de
Thanks for your quick reply.

I´m sorry I´m already using a raspberry Pi 2, and I´m pretty sure it has got enough memory. The ready compiled engine has got over 29 MB and I think this is to much. But if even when I use the flag armv7 instead of native the size of the engine is almost the same. Yours Michael



石橋宏之利

unread,
Feb 2, 2016, 6:41:39 AM2/2/16
to Sayuri - UCI Chess Engine, dr.mi...@cvachovec.de
You mean that binary file size of Sayuri is over 29MB?
If so, it's really too big.
All file size of Sayuri in SayuriCompiled are from 5MB to 7MB.
Sayuri for Android(armeabi-v7a) is 5.1MB.
I'm sorry, I don't know a solution of the problem.

or

If you mean "It's too big for Sayuri to use main memory over 29MB as default!!", you can change source code.
At the 83rd line in "chess_def.h", you can change the line from...

  constexpr std::size_t UCI_DEFAULT_TABLE_SIZE = 32ULL * 1024ULL * 1024ULL;

into...

  constexpr std::size_t UCI_DEFAULT_TABLE_SIZE = 8ULL * 1024ULL * 1024ULL;

If you think 8MB is too big, then you can change the 83rd and 86th line into...

(83rd)  constexpr std::size_t UCI_DEFAULT_TABLE_SIZE = <size less than 8>ULL * 1024ULL * 1024ULL;

(86th)  constexpr std::size_t UCI_MIN_TABLE_SIZE = <size less than 8>ULL * 1024ULL * 1024ULL;

[Notes]
  1. "UCI_DEFAULT_TABLE_SIZE" means Sayuri's hash table size as default.
  2. "UCI_MIN_TABLE_SIZE" means the minimum size of Sayuri's hash table.

[Important Notes!!]
  1. "UCI_DEFAULT_TABLE_SIZE < UCI_MIN_TABLE_SIZE" may cause errors.
  2. The size must be "2^n (Nth power of 2)", because of hash function.
  3. Don't change "1024ULL * 1024ULL", because UCI command handles a size by the MB.

  Thank you.

  Hironori Ishibashi


2016年2月2日火曜日 17時05分58秒 UTC+9 dr.mi...@cvachovec.de:

dr.mi...@cvachovec.de

unread,
Feb 2, 2016, 7:27:48 AM2/2/16
to Sayuri - UCI Chess Engine, dr.mi...@cvachovec.de
Hello,
yes thats what I meant, the binary size is over 29 MB. OK I will try some different cflags, if I succeed in compiling for raspberry I will let you know.

Thank you for your help
Michael Cvachovec
Reply all
Reply to author
Forward
0 new messages