高並列・再構成ハードウェアによるモンテカルロ囲碁システムの研究

立命館大学研究部
2012 年 5 月 1 日
2011 年度採択 研究推進プログラム(科研費連動型)研究成果報告書
採択者
研究課題
所属機関・職名: 理工学部・教授
氏名: 山崎 勝弘
高並列・再構成ハードウェアによるモンテカルロ囲碁システムの研究
Ⅰ.研究計画の概要
平 成 23 年 度 科 学 研 究 費 助 成 事 業 − 科 研 費 − 申 請 時 の 研 究 計 画 に つ い て 、 概 要 を 記 入 し て く だ さ い 。
コンピュータ囲碁は、2006 年にモンテカルロ法を用いた探索(モンテカルロ囲碁)が提案され、2008 年にはハ
ンデありで、プロ棋士に勝てるようになり、革命的な発展を遂げている。この方法では、ある局面で候補手を複数
選び、各々に対して囲碁らしい手を最後まで打って(プレイアウト)
、最も勝率の高い手を次の手とする。本研究で
は、モンテカルロ囲碁を高並列処理と再構成ハードウェアを用いて高速にプレイアウトすることにより、より強い
囲碁システムを構築することを目的とする。すなわち、並列処理を 16 プロセッサの SMP クラスタ、及び 960 プ
ロセッサの GPU で本格的に取り入れ、かつ序盤、中盤、終盤を再構成ハードウェアで実現する。
まず、モンテカルロ囲碁をソフトウェアのみで実現する。この際、囲碁ソフト 彩で提供されている囲碁ソフト
作成支援ツールを利用して、最も重要な思考ルーチンの作成と改善に注力する。次に、思考ルーチンの高並列化と
再構成ハードウェア化を行って、本研究で提案する囲碁システムを作成し、高並列化と再構成ハードウェア化の効
果を評価する。プレイアウト数を増やせば、それに比例して各候補手の評価が正確になり、強くなる。ある局面か
らの複数のプレイアウトは同時に行えるので、モンテカルロ囲碁と並列処理との適合性は良く、プロセッサ数に比
例した並列効果が期待できる。使用する GPU は 960 個のプロセッサコアを備えているので、高並列処理、さらに
は超並列処理が可能である。また、試作した囲碁システムで、コンピュータ囲碁トーナメントに出場し、その強さ
を評価した上で、最強をめざす。
Ⅱ.研究成果の概要
研究成果について、概要を記入してください。
今年度は GPU による高並列処理の可能性を調べるために、Geforce GTX480 を用いて、レイトレーシングの並
列化を行った。GTX480 は 15 個のストリーミング・マルチプロセッサ(SM)から構成され、各 SM が 32 個のコ
アプロセッサを含む 2 レベルの並列処理が可能であり、総計 480 個のコアプロセッサによる高並列処理を実現でき
る。レイトレーシングの各画素の輝度値を求める処理が、他の画素の計算と独立であることを用いて、画面を均等
にブロック分割し、各ブロックを各 SM で並列実行した。SPD の 3 つのシーンデータ(teapot, tetra, mount)に
対して、ブロック数とスレッド数を変化させて実行時間を測定した。その結果、teapot はブロック数 64*64、スレ
ッド数 8*8 のときに、実行時間 1.71 秒で、CPU1個による実行と比べて 116 倍の速度向上を達成できた。後継の
GTX580 は 16 個の SM が同時動作するので、ブロック数 64*64 との適合性が良く、さらなる速度向上が期待でき
る。モンテカルロ囲碁では、多数回のプレイアウトをいかに高速に行うかがキーポイントであるので、1000 個程度
のコアプロセッサを含む GPU を用いれば、極めて有効であると考えられる。
再構成ハードウェアについては、FPGA による液晶ガラスの傷検出の高速化を行った。TDI(雑音除去)
、エッジ
検出、二値化、及びラベリングにより、傷を検出する。ラプラシアンフィルタによるエッジ検出を FPGA で行い、
CPU ソフトウェアに比べて、14 倍の速度向上を達成した。GPU と FPGA を囲碁システムに適用して、プレイア
ウトの高速化、及び局面毎のハードウェアを構成して、高並列処理と再構成ハードウェアを活用した強い囲碁シス
テムを構築することが今後の課題である。
1