Текущая реализация MPI не поддерживает потоки достаточно надежно. Однако,
использование mpich в поточных приложениях возможно до тех пор, пока все вызовы
mpich делаются одним из потоков. Примером может служить OpenMP,
используемый для параллелизма в циклах вместе с MPI. Однако, Вы можете
встретиться с некоторыми проблемами для сигналов. Многие пакеты для потоков
используют сигналы SIGUSR1 и/или SIGUSR2. По умолчанию устройство
ch_p4 также использует SIGUSR1. Если Вы используете mpich
совместно с пакетом для потоков, который использует SIGUSR1, Вам
необходимо переконфигурация с добавлением аргумента -listenersig=
SIGNAL_NAME в строке with-device=ch_p4 и сборка mpich. Пример:
./configure with-device=ch_p4:-listenersig=SIGUSR2
make