TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

将棋AIの進捗 その12(自己対局のマルチGPU対応)

自己対局のプログラムをマルチGPUに対応させました。

処理方式は、対局プログラムのマルチGPU対応とほとんど同じです。

マルチGPU対応により局面生成の速度がどれくらいあがるか測定しました。

測定条件
  • シングルGPUは、TitanV 1枚。200スレッドで対局。
  • マルチGPUは、Titan VとGeForce 1080 Ti。GPUごとに100スレッドで対局。
  • モデルは10ブロック、192フィルターのResNet
測定結果

局面/秒

シングルGPU 9.30
マルチGPU対応 9.24

ほとんどかわらなかったorz
ランダムに選ばれる初期局面によるので、何回か測定すると結果が多少前後する。

ChainerをPython経由で使用しているので、GILでロックされることが影響していそうである。

こうなるとC/C++のランタイムがあるTensorFlowだとどうなるか試したくなってきた。
TensorFlowで作り直すのは大変だなぁ...( - -)

その前にプロファイラで調査すべきかな。