0

I have a six-node cluster running Ubuntu 11.04 and MPICH2 1.4. I'm trying to test the graphics using the Mandelbrot set. The pmandel executable that is supposedly found in one of the MPICH2 subdirectories is supposed to render the Mandelbrot fractal on the screen using all the nodes in the cluster, and all the directions I've found so far tell me to "use the pmandel exec" for this test. There is no exec - there is only pmandel.c, pmandel.h, and pmandel.pd. I thought I should compile pmandel.c to create the exec, but I get the following errors when I try:

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

It just looks like standard compilation errors to me. But why would MPICH2 be released with an error-ridden file? I'm sure I'm doing something wrong, but I just can't figure out how to run this test. Any help would be greatly appreciated.

4

2 回答 2

0

由于配置问题,您的 MPE 标头可能为空。尝试这个:

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

和这个:

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

如果您看到任何警告消息,您应该考虑从source重新编译和安装它。

于 2012-04-26T15:01:50.443 回答
0

如果您将 MPICH2 的副本配置为--enable-mpe(或者,更可能的是,没有--disable-mpe),那么应该有一个Makefilein src/mpe2/src/graphics/contrib/mandel。尝试make从该目录运行,看看是否会pmandel为您构建。

尽管如此,当我运行该程序时,它最初可以工作,然后当我试图通过拖动一个新框来放大时出现段错误。YMMV。正如评论中提到的 awoodland,这是贡献代码,所以 MPICH2 团队没有编写它。自述文件中列出的作者似乎已从 Argonne 离职,因此您不太可能从他那里得到任何支持。

于 2011-08-09T22:33:11.683 回答