такая проблема…при инициализации данных в программе чтобы не было проблем с буфером написал такую строчку в начале main'а: setvbuf(stdout, 0, _IONBF, 0);
теперь при запуске программы под MPICH вроди стало адекватно(почти) дожидаться ввода с консоли, но после ввода числа программа дальше не отрабатывается…может кто подскажет что делать?
6 марта 2010 в 9:03
запускаю через mpiexec.exe
6 марта 2010 в 1:03
Уточните пожалуйста, как именно вы его запускаете?
По умолчанию, если я ничего не путаю, вводимые вами данные передаются на стандартный вход только одному процессу – нулевому (rank 0).
6 марта 2010 в 1:01
вот на вводе с коносли он у меня и виснет…такое ощущение что программа просто не видит что пользователь чтото ввел…
6 марта 2010 в 1:00
хороший вопрос…под отладчиком MPICH меня не запускается…т.ч. на каком коде конкретно виснет непонятно, визуально я просто ввожу чтото с клавиатуры а программа не реагирует на ввод данных…
6 марта 2010 в 1:00
Можно например собрать программу с дебажными символами, в начале программы выводить pid, потом во время зависания
gdb program <pid>
Потом в gdb
bt
И покажется backtrace, из которого должно быть понятно, на какой фунции застрял процесс.
Или "дебажиться printf'ами"
6 марта 2010 в 0:05
А на чем зависает программа?
5 марта 2010 в 23:03
А действительно ли вашей программе это нужно?