diff --git a/AUTHORS.md b/AUTHORS.md index 1e38fa961c0dcacf8476adf8c8c23e1005044b30..6d9f4353b6e0139e9c7bba58c36ec6c14cab248d 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -91,3 +91,4 @@ Isaac Legred Marc Penuliar Andrew Fowlie Martin White +Peter T. H. Pang diff --git a/bilby/core/sampler/base_sampler.py b/bilby/core/sampler/base_sampler.py index f4a717787219fafdf3d72edf29fb9d46fa1a5263..36c14de033449511d5f5b76970ff2afc4cd59cfd 100644 --- a/bilby/core/sampler/base_sampler.py +++ b/bilby/core/sampler/base_sampler.py @@ -902,7 +902,19 @@ class _TemporaryFileSamplerMixin: def __init__(self, temporary_directory, **kwargs): super(_TemporaryFileSamplerMixin, self).__init__(**kwargs) - self.use_temporary_directory = temporary_directory + try: + from mpi4py import MPI + + using_mpi = MPI.COMM_WORLD.Get_size() > 1 + except ImportError: + using_mpi = False + + if using_mpi and temporary_directory: + logger.info( + "Temporary directory incompatible with MPI, " + "will run in original directory" + ) + self.use_temporary_directory = temporary_directory and not using_mpi self._outputfiles_basename = None self._temporary_outputfiles_basename = None diff --git a/bilby/core/sampler/pymultinest.py b/bilby/core/sampler/pymultinest.py index 51bdef2e0e48c3b2c61d9e7e2569c1a03a57d1da..303acb705d3ed3d912ded1a132ebb2f4e138e8fe 100644 --- a/bilby/core/sampler/pymultinest.py +++ b/bilby/core/sampler/pymultinest.py @@ -5,7 +5,6 @@ import time import numpy as np -from ..utils import logger from .base_sampler import NestedSampler, _TemporaryFileSamplerMixin, signal_wrapper @@ -77,12 +76,6 @@ class Pymultinest(_TemporaryFileSamplerMixin, NestedSampler): temporary_directory=True, **kwargs ): - try: - from mpi4py import MPI - - using_mpi = MPI.COMM_WORLD.Get_size() > 1 - except ImportError: - using_mpi = False super(Pymultinest, self).__init__( likelihood=likelihood, priors=priors, @@ -96,13 +89,6 @@ class Pymultinest(_TemporaryFileSamplerMixin, NestedSampler): **kwargs ) self._apply_multinest_boundaries() - self.exit_code = exit_code - if using_mpi and temporary_directory: - logger.info( - "Temporary directory incompatible with MPI, " - "will run in original directory" - ) - self.use_temporary_directory = temporary_directory and not using_mpi def _translate_kwargs(self, kwargs): kwargs = super()._translate_kwargs(kwargs)