2011-08-08 27 views
0

我有一個運行Ubuntu 11.04和MPICH2 1.4的六節點集羣。我正在嘗試使用Mandelbrot集測試圖形。假定在MPICH2子目錄中找到的pmandel可執行文件應該使用羣集中的所有節點在屏幕上顯示Mandelbrot分形,並且迄今爲止發現的所有方向都告訴我「使用pmandel exec」爲這個測試。沒有exec - 只有pmandel.c,pmandel.h和pmandel.pd。我想我應該編譯pmandel.c創建EXEC,但我得到以下錯誤,當我嘗試:使用Mandelbrot集測試Linux集羣的問題

[email protected]:~/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會發布錯誤文件?我確定我做錯了什麼,但我無法弄清楚如何運行這個測試。任何幫助將不勝感激。

+0

可能只是代碼上的「bitrot」。它也處於「貢獻」狀態,這表明外部工作包含在分配中,因爲它可能是有用的,但不直接是主要來源分配的一部分 – Flexo

回答

0

如果您配置了MPICH2的副本--enable-mpe(或者,更可能的是,沒有--disable-mpe),那麼應該有一個src/mpe2/src/graphics/contrib/mandelMakefile。嘗試從該目錄運行make,看看是否會爲您建立pmandel

綜上所述,當我運行該程序時,它一開始工作,然後在我嘗試通過拖動一個新框放大時進行分段。因人而異。正如評論中提到的awoodland,這是contrib代碼,所以MPICH2團隊沒有寫它。自述文件中列出的作者似乎已經從阿貢移居,因此你不可能從他那裏得到任何支持。

0

由於配置問題,您的MPE頭部可能是空的。試試這個:

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

這:

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

如果你看到任何警告信息,你應該考慮編制和source重新安裝。