2015-09-16 5 views
0

Это похоже на несколько вопросов в Интернете, но этот код, похоже, работает некоторое время, вместо того, чтобы мгновенно возвращать ошибку, что говорит мне, что это может быть не просто ошибка хост-файла?Ошибка с mpi4py после некоторого времени нереста, как отлаживать

Я запускаю код, который порождает несколько процессов MPI, которые затем создают цикл, в котором они отправляют некоторые данные с помощью bcast и разбрасываются, а затем собирают данные из этих процессов. Это запускает алгоритм и сохраняет данные. Затем он отключается от порожденного коммита и создает другой набор нерестиков в следующем цикле. Это работает в течение нескольких минут, а затем примерно через 300 файлов, он плюнет на это:

[T7810:10898] [[50329,0],0] ORTE_ERROR_LOG: Not found in file ../../../../../orte/mca/plm/base/plm_base_launch_support.c at line 758 
-------------------------------------------------------------------------- 
mpirun was unable to start the specified application as it encountered an error. 
More information may be available above. 

Я проверяю это на локальной машине (одного узла), поэтому развертывание конец будет иметь несколько узлов, каждый порождение их собственные процессы mpi в этом узле. Я пытаюсь понять, если это проблема с тестированием нескольких узлов на моей локальной машине и будет работать нормально на HPC или это более серьезная ошибка.

Как я могу отладить это? Есть ли способ распечатать то, что MPI пытается делать во время или контролировать MPI, например, подробный режим?

ответ

0

Поскольку MPI4PY настолько близок к MPI (логически, если не в терминах строк кода), один из способов отладить это - написать версию C вашей программы и посмотреть, не исчезла ли проблема. Когда вы сообщаете об этой ошибке OpenMPI, они все равно захотят получить небольшой тестовый пример c.