Мультипроцессинг через MPI

Greeny

Новичок
Пользователь
Дек 12, 2020
2
0
1
Пытаюсь сделать мультипроцессинг emcee через MPI, поставил mpi4py через Pip, в преамбуле программы указываю вот такое:

import emcee
import numpy as np
from schwimmbad import MPIPool

а дальше:

pool = MPIPool()
if not pool.is_master():
pool.wait()
sys.exit(0)

sampler = emcee.EnsembleSampler(nwalkers, ndim, lnprob,pool=pool)
sampler.run_mcmc(p0,12000,progress=True)
fig, axes = plt.subplots(ndim, figsize=(10, 7), sharex=True)
samples = sampler.flatchain

На что она мне сообщает, что "Tried to create an MPI pool, but there was only one MPI process available. Need at least two". Что я делаю не так?

Заранее спасибо!
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 646
472
83
ну я вам переведу возможно вы поймете...

Tried to create an MPI pool, but there was only one MPI process available. Need at least two - Попытался создать пул MPI, но был доступен только один процесс MPI. Нужно как минимум два

(ваш верный друг гугл переводчик)
 

Greeny

Новичок
Пользователь
Дек 12, 2020
2
0
1
ну я вам переведу возможно вы поймете...

Tried to create an MPI pool, but there was only one MPI process available. Need at least two - Попытался создать пул MPI, но был доступен только один процесс MPI. Нужно как минимум два

(ваш верный друг гугл переводчик)

Это-то понятно, но как сделать так, чтобы их было "at least two"?
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 646
472
83
попробовать создать еще объект MPIPool() и возможно при указании пула нужно будет указать их через запятую или в кортеже (то есть в скобочках через запятую и с запятой в конце)... это в документации можно посмотреть... или методом тыка, скорее всего будет ошибка typeerror если указать не правильно...

P.S.
ваш код я не смог запустить у себя
во первых у вас явно не хватает импортов... вы используете plt - это скорее всего matplotlib, но в импортах у вас его нет...
во вторых он ругается на имена nwalkers, ndim, lnprob и p0...

отсюды вывод, что это не полный код, и помочь могу только предположениями, либо вы его откуда то взяли и пытаетесь запустить...
 
Последнее редактирование:

Форум IT Специалистов