0

Ubuntu 11.04 と MPICH2 1.4 を実行している 6 ノード クラスターがあります。マンデルブロー集合を使用してグラフィックスをテストしようとしています。MPICH2サブディレクトリの1つにあると思われるpmandel実行可能ファイルは、クラスター内のすべてのノードを使用して画面にマンデルブローフラクタルをレンダリングすることになっています。これまでに見つけたすべての指示は、「pmandel execを使用する」ように指示しますこのテストのために。exec はありません。pmandel.c、pmandel.h、pmandel.pd のみです。pmandel.c をコンパイルして exec を作成する必要があると考えましたが、実行しようとすると次のエラーが発生します。

cs_lab@daedalus01:~/MPICH2/mpich2-1.4-source/src/mpe2/src/graphics/contrib/mandel$ mpic++ -c pmandel.c
In file included from pmandel.c:14:0:
pmandel.h:27:8: error: ‘MPE_XGraph’ does not name a type
pmandel.h:35:3: error: ‘MPE_Color’ does not name a type
pmandel.c:27:1: error: ‘MPE_XGraph’ does not name a type
pmandel.c:29:28: error: variable or field ‘DrawImage’ declared void
pmandel.c:29:28: error: ‘MPE_XGraph’ was not declared in this scope
pmandel.c:29:49: error: expected primary-expression before ‘*’ token
pmandel.c:29:50: error: expected primary-expression before ‘,’ token
pmandel.c:29:58: error: expected primary-expression before ‘*’ token
pmandel.c:29:60: error: expected primary-expression before ‘)’ token
pmandel.c:30:28: error: variable or field ‘ProcessArgsFromFile’ declared void
pmandel.c:30:28: error: ‘MPE_XGraph’ was not declared in this scope
pmandel.c:30:49: error: expected primary-expression before ‘*’ token
pmandel.c:30:50: error: expected primary-expression before ‘,’ token
pmandel.c:30:58: error: expected primary-expression before ‘*’ token
pmandel.c:30:59: error: expected primary-expression before ‘)’ token
pmandel.c:31:28: error: ‘MPE_XGraph’ was not declared in this scope
pmandel.c:31:46: error: expected primary-expression before ‘*’ token
pmandel.c:31:47: error: expected primary-expression before ‘)’ token
pmandel.c:31:47: error: initializer expression list treated as compound expression
pmandel.c:45:15: error: variable or field ‘UpdateDisplay’ declared void
pmandel.c:45:15: error: ‘MPE_XGraph’ was not declared in this scope
pmandel.c:45:33: error: ‘MPE_XGraph’ was not declared in this scope
pmandel.c:45:64: error: expected primary-expression before ‘*’ token
pmandel.c:45:65: error: ‘flags’ was not declared in this scope

私には標準のコンパイルエラーのように見えます。しかし、なぜ MPICH2 がエラーの多いファイルでリリースされるのでしょうか? 私は何か間違ったことをしていると確信していますが、このテストを実行する方法がわかりません。どんな助けでも大歓迎です。

4

2 に答える 2

0

MPICH2のコピーを--enable-mpe(または、おそらくはなしで--disable-mpe)構成した場合は、にが含まれているはずMakefileですsrc/mpe2/src/graphics/contrib/mandel。そのディレクトリから実行してみて、それがあなたのmakeために構築pmandelされるかどうかを確認してください。

そうは言っても、プログラムを実行すると、最初は機能し、新しいボックスをドラッグしてズームインしようとすると、セグフォールトが発生しました。YMMV。コメントで言及されているように、これは貢献コードであるため、MPICH2チームはそれを作成しませんでした。READMEに記載されている作成者は、アルゴンヌから移動したようです。そのため、彼からのサポートを受けることはほとんどありません。

于 2011-08-09T22:33:11.683 に答える
0

設定の問題により、MPE ヘッダーが空になっている可能性があります。これを試して:

$ cat <YOUR MPICH DIRECTORY>/include/mpe.h

この:

$ cat <YOUR MPICH DIRECTORY>/include/mpe_graphics.h

警告メッセージが表示された場合は、ソースから再度コンパイルしてインストールすることを検討してください。

于 2012-04-26T15:01:50.443 に答える