0

Java と MPJ Express を使用して MPI アプリケーションを開発しました。マルチコア構成で完璧に動作します。

最近、アプリケーションをテストするために、分散メモリ環境へのアクセス権が与えられました。まず、MPJ HelloWorld アプリケーションを実行して、クラスター構成が正常に機能していることを確認しました。その後、アプリケーションの実行に進みましたが、表示後にフリーズします:

クラスタ構成で MPJ Express (0.38) を起動

さらに悪いことに、Ctrl+C でプロセスを強制終了したため、HelloWorld アプリケーションを実行できませんでした。すべてのマシンで MPJ デーモンを強制終了し、再起動する必要がありました。

メイン クラスのコンテンツを HelloWorld クラスの同じコンテンツに置き換えて、何かが出力されるかどうかを確認します。そうではありませんでした。また、自分のアプリケーションと同様のパッケージ構造を持つ HelloWorld アプリケーションを作成したところ、HelloWorld はうまく機能しました。

HelloWorld と私のアプリケーションの大きな違いの 1 つは、サイズが約 29.8 MB のライブラリ セットがあることです。そのため、ライブラリを実行クラス パスに追加しないようにしました。それは機能しましたが、もちろん、実行時に必要なライブラリが見つからないため、私のアプリケーションは役に立ちません。

コメントやアドバイスをいただければ幸いです。

ありがとう!

4

1 に答える 1

1

mpj-express.org/readme.htmlにアクセス し、プラットフォームに基づいてファイルを選択します。

(Windows) サービス「MPJ Daemon」を一度インストールする必要があります。

ただし、Eclipse IDE を使用している場合は、MPJ アプリケーションごとにスレッドを開始し、終了する必要があります。

注: コマンド ラインでは、スレッドを開始し、必要な数のプログラムを実行して、最後に終了することができます。


  • 「マシン」ファイルを書き込む
  • デーモンの開始: mpjboot マシン
  • コンパイル: javac -cp .:$MPJ_HOME/lib/mpj.jar HelloWorld.java
  • 実行: mpjrun.sh -np 4 -dev niodev HelloWorld
  • デーモンの停止: mpjhalt マシン

于 2012-04-07T15:27:06.650 に答える