Пытаюсь сделать мультипроцессинг 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". Что я делаю не так?
Заранее спасибо!
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". Что я делаю не так?
Заранее спасибо!