やねうら王、ハッシュ用のメモリ(USI_Hashで指定する)が、128GBまでしか対応してなかったのですが、近年AWSなどでそれ以上のメモリを搭載したPCに触れる機会も増えて参りました。
そこで、128GBの上限撤廃に向けて作業をしていたのですが、これがかなり難しい作業だったので、ここに自慢たらしくドヤ顔でその作業内容の解説を書いていきたいところですが、1万文字ぐらいになりそうで、時間もないことなので、そのへんは割愛しまして、commit内容だけ以下にリンク貼り付けておきます。
13TBハッシュ対応 : https://github.com/yaneurao/YaneuraOu/commit/33c1c038757acff3faa5d086c6642a01b05129a0
この(最大)13TBハッシュは、やねうら王V5.01以降で対応しています。
このコード、もともとはStockfishのほうでcommitされていたコードなのですが、しかしそれをそのままやねうら王に持ってきてもうまく動作せず、かなり頭をひねらないと気づかないような修正が必要でした。
話題の(?)、やねうら王mブランチのほうは、このコード入っておらず、まあ、おそらくそのまま持ってきたものの、何故か棋力がすごく下がるので削除されたのではないかと思います。
まあ、こういうインフラ的なプログラミングって移植するのも、作るのも、そして、検証するのにもすごく時間がかかるわりに、将棋ソフトとしての棋力がこれっぽっちも上がるわけではないので単に将棋ソフトを使うだけの人からは見逃されがちですが、作る側としてはものすごい労力が費やされています。
だから、将棋ソフト開発者でも、自分でそういった手間をかけたくないから(時間的にも労力的にも技術的にも資金的にも)、やねうら王を改造して使う人が多いわけです。
なんとかちゃんねるに、Aperyライブラリ勢が何故やねうら王ライブラリに乗り換えたのか(2016~2018年ごろの話?)という議論があり、そこでは、将棋ソフトとしての強さとか、ソースコードの読みやすさとか情報の多さとか、そういった項目が挙げられていましたが、私が思うに、そんなことは二の次であって、まずは、インフラ(開発基盤)としてどれだけ安定しているか、機能的に充実しているかが重要なファクターだったのではないかと個人的には思っています。(他の開発者にアンケートをとったわけではないので私の個人的な感想ですが。) Aperyの定跡を読み込む部分一つにしても、KPPT型の機械学習部一つにしても一から実装するのは大仕事なわけですから。
そんなわけで、やねうら王は今後も最強の将棋ソフトのインフラでありたいと思っています。現場からは以上です。
PC将棋スレよりコピペしました
やねさんがYO5.00にmブランチを取り入れても強くならないと
言っているような そうでないような よくわからないな
もし 強くならないのならYO5.00の取柄は何?ハッシュ用メモリの
128GBの上限撤廃をしたから何が変わるのか具体的に教えてほしい
「ハッシュ用のメモリの上限撤廃をしたから何が変わるのか」すらわからない人は、そもそも置換表が何のために存在するのかすらわかっていない人なので、「置換表とは」とかでググっていただいたほうが良いのではないかと…。
今ってメモリ1GBで312円くらいだから13TBだと400万円ちょっとか
やねさんの朝食1回分くらいの値段ですね
デミグラスソースが決め手のハッシュドビーフ