数独ソルバー プログラムを MPI で並列化したいと考えています。現在のシリアル コードは、深さ優先検索によるバックトラッキングに依存しています。私はいくつかの研究をしましたが、私はまだそれを行う方法がわかりません。プログラムは幅優先検索を実行してマスター プロセスでデータを取得し、このデータでスレーブ プロセスを使用する必要があると言う人もいます。スレーブプロセスがこのデータを使用して深さ優先検索を行うようにします。
また、深さ優先検索の並列化の例では、ワーク シェアリングやワーク スティーリングの手法が使用されていることもわかりました。しかし、数独の場合、数独の解決方法のために、この手法を使用してプロセスの関係、作業キュー、およびプロセスのサイズを処理できるかどうかはわかりません。
何か案は?
ありがとうございました。