Я передаю коммуникатор mpi от python до C. Я решил использовать коммуникатор mpi boost, поскольку mpi4py, похоже, не имеет хорошей поддержки C. Проверьте это:Что означает `Fatal Python error: PyThreadState_Get: нет текущей нити`?
try: from boost.mpi import world
except ImportError: from mpi import world
err = run_with_mpi(infile, world, stdout, stderr, exc)
В системах, где установлен boost.mpi, это не вызывает ошибок. Однако boost.mpi не может быть установлен на Mac. Я установил модуль mpi.so boost, используя формулу boost155 homebrew, а затем добавил файл .so в pythonpath.
Как правило, что означает Fatal Python error: PyThreadState_Get: no current thread
? Какие подсказки это сообщение дает разработчикам, как я?
Полное сообщение об ошибке:
Fatal Python error: PyThreadState_Get: no current thread
[kilojoules-20160s:64471] *** Process received signal ***
[kilojoules-20160s:64471] Signal: Abort trap: 6 (6)
[kilojoules-20160s:64471] Signal code: (0)
[kilojoules-20160s:64471] *** End of error message ***