MPI программа с графическим интерфейсом VC ++? - PullRequest
0 голосов
/ 16 марта 2010

Мне нужно написать приложение, используя MPICH2 (64 бита, если вам интересно). GUI совершенно необязателен, но, конечно, будет огромным плюсом. Будут ли у mpiexec какие-либо трудности при запуске управляемого кода VC ++? Есть ли другие проблемы, с которыми я могу столкнуться при компиляции / компоновке (соглашения о вызовах и т. Д.)?

Просто, чтобы дать вам представление, общая структура программы будет выглядеть следующим образом:

int main(array<System::String ^> ^args)
{
    /* Get MPI rank */

    if ( rank == 0 )
    {
        // Enabling Windows XP visual effects before any controls are created
        Application::EnableVisualStyles();
        Application::SetCompatibleTextRenderingDefault(false); 

        // Create the main window and run it
        // Send/receive messages in Form1's code
        Application::Run(gcnew Form1());
    }
    else
    {
        /* Send/receive messages to/from process #0 only */
    }
    return 0;
}

1 Ответ

0 голосов
/ 18 марта 2010

MPI - это просто еще одна библиотека, так что никакой магии. Ваш код должен выглядеть примерно так:

init MPI

if (rank == 0) инициализировать ваш графический интерфейс;

while (1) {

если (rank == 0) получить ввод;

выполнить вычисление MPI на входе

убедитесь, что ранг 0 заканчивается с окончательным результатом

если (rank == 0) отобразить результат в графическом интерфейсе;

}

если (rank == 0) очистить графический интерфейс;

очистить MPI

...