Проблема с тестированием кластера Linux с использованием набора Мандельброта - PullRequest
0 голосов
/ 09 августа 2011

У меня есть кластер из шести узлов, на котором запущены Ubuntu 11.04 и MPICH2 1.4. Я пытаюсь проверить графику, используя набор Мандельброта. Исполняемый файл pmandel, который предположительно находится в одном из подкаталогов MPICH2, должен отображать фрактал Мандельброта на экране, используя все узлы в кластере, и все направления, которые я нашел до сих пор, говорят мне «использовать 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 должен быть выпущен с ошибочным файлом? Я уверен, что делаю что-то не так, но я просто не могу понять, как запустить этот тест. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2012

Возможно, ваш заголовок MPE пуст из-за проблем с конфигурацией. Попробуйте это:

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

А это:

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

Если вы видите какое-либо предупреждающее сообщение, вам следует рассмотреть возможность его компиляции и повторной установки из source .

0 голосов
/ 10 августа 2011

Если вы сконфигурировали свою копию MPICH2 с --enable-mpe (или, скорее, без --disable-mpe), тогда должно быть Makefile в src/mpe2/src/graphics/contrib/mandel.Попробуйте запустить make из этого каталога и посмотрите, будет ли это для вас составлять * 1006.

С учетом всего сказанного, когда я запускал программу, она работала изначально, а затем с ошибками при попытке увеличить масштаб путем перетаскивания.новая коробка.YMMV.Как уже упоминалось в комментариях awoodland, это код участника, поэтому команда MPICH2 его не написала.Автор, указанный в README, похоже, перешел из Аргонны, поэтому вы вряд ли получите от него какую-либо поддержку.

...