私はモンテカルロ型シミュレーションを実行するプログラムを持っています。現在、私はOpenMPとOpenCLの両方に対してプログラムのバージョンを書いており、私のLAN上のコンピュータ間でワークロードを配布するための最良の方法を知りたいと考えています。技術小規模分散コンピューティング
最初のアイデアはソケットベースのクライアント/サーバーアプリケーションを書くことでした。それによって、サーバーはワークユニットを分割してクライアントに送信し、クライアントに送信して結果を返信しました。高速CPUとGPUを搭載したシステムを活用するために、システム上でクライアントプログラムの複数のインスタンスを実行することができました(-ompと-ocl実行可能ファイル)。
しかし、ソケットプログラミングはめったに楽しいものではなく、正しい(プロトコルなどを決定する)苦労があります。したがって、私はMPIを見てみることにしました。これは、CPU + GPUをミックスに含めるか、サーバで規定された「ワークユニット」がどの程度うまく収まるかを確かめています。問題の空間をサンプリングする領域は重要ではないため、知覚的なマスタープロセスによって物事を調整する必要があります)。
したがって、私に利用可能な他のオプションがあるかどうか、同様の状況でオンになります。
mpiはデファクトスタンダードである。 – Anycorn