singlepost

MPI консольный ввод/вывод << На главную или назад  

такая проблема…при инициализации данных в программе чтобы не было проблем с буфером написал такую строчку в начале main'а: setvbuf(stdout, 0, _IONBF, 0);
теперь при запуске программы под MPICH вроди стало адекватно(почти) дожидаться ввода с консоли, но после ввода числа программа дальше не отрабатывается…может кто подскажет что делать?

10 ответов в теме “MPI консольный ввод/вывод”

  1. 7
    Белоусов Сергей ответил:

    запускаю через mpiexec.exe

  2. 6
    Денис Лисов ответил:

    Уточните пожалуйста, как именно вы его запускаете?

    По умолчанию, если я ничего не путаю, вводимые вами данные передаются на стандартный вход только одному процессу – нулевому (rank 0).

  3. 5
    Белоусов Сергей ответил:

    вот на вводе с коносли он у меня и виснет…такое ощущение что программа просто не видит что пользователь чтото ввел…

  4. 4
    Белоусов Сергей ответил:

    хороший вопрос…под отладчиком MPICH меня не запускается…т.ч. на каком коде конкретно виснет непонятно, визуально я просто ввожу чтото с клавиатуры а программа не реагирует на ввод данных…

  5. 3
    Тимур Магомедов ответил:

    Можно например собрать программу с дебажными символами, в начале программы выводить pid, потом во время зависания

    gdb program <pid>
    Потом в gdb
    bt
    И покажется backtrace, из которого должно быть понятно, на какой фунции застрял процесс.

    Или "дебажиться printf'ами"

  6. 2
    Тимур Магомедов ответил:

    А на чем зависает программа?

  7. 1
    Денис Лисов ответил:

    А действительно ли вашей программе это нужно?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.