Добавить к ответу, полученному от Новелократа:
Основной единицей вычисления в MPI является «ранг». В большинстве (всех?) Интересных реализаций MPI ранг - это процесс. Все потоки внутри процесса имеют одинаковый идентификатор ранга.
Стандарт MPI поддерживает несколько уровней параллелизма потоков: MPI_THREAD_SINGLE, MPI_THREAD_FUNNELED, MPI_THREAD_SERIALIZED и MPI_THREAD_MULTIPLE.
Из них только MPI_THREAD_MULTILE на самом деле имеет несколько потоков, делающих перекрывающиеся вызовы в библиотеку MPI. Остальные три случая - это утверждение из приложения, что рейтинг можно рассматривать как «однопоточный». Для получения дополнительной информации см. Стандартную запись MPI в MPI_INIT_THREAD .