Skip to content
Snippets Groups Projects
Commit 52b251d6 authored by Tsun-Ho Pang's avatar Tsun-Ho Pang Committed by Colm Talbot
Browse files

FEATURE: Adding outdir support for ultranest's mpi functionality

parent 411efa0a
No related branches found
No related tags found
1 merge request!1278Adding outdir support for ultranest's mpi functionality
...@@ -91,3 +91,4 @@ Isaac Legred ...@@ -91,3 +91,4 @@ Isaac Legred
Marc Penuliar Marc Penuliar
Andrew Fowlie Andrew Fowlie
Martin White Martin White
Peter T. H. Pang
...@@ -902,7 +902,19 @@ class _TemporaryFileSamplerMixin: ...@@ -902,7 +902,19 @@ class _TemporaryFileSamplerMixin:
def __init__(self, temporary_directory, **kwargs): def __init__(self, temporary_directory, **kwargs):
super(_TemporaryFileSamplerMixin, self).__init__(**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._outputfiles_basename = None
self._temporary_outputfiles_basename = None self._temporary_outputfiles_basename = None
......
...@@ -5,7 +5,6 @@ import time ...@@ -5,7 +5,6 @@ import time
import numpy as np import numpy as np
from ..utils import logger
from .base_sampler import NestedSampler, _TemporaryFileSamplerMixin, signal_wrapper from .base_sampler import NestedSampler, _TemporaryFileSamplerMixin, signal_wrapper
...@@ -77,12 +76,6 @@ class Pymultinest(_TemporaryFileSamplerMixin, NestedSampler): ...@@ -77,12 +76,6 @@ class Pymultinest(_TemporaryFileSamplerMixin, NestedSampler):
temporary_directory=True, temporary_directory=True,
**kwargs **kwargs
): ):
try:
from mpi4py import MPI
using_mpi = MPI.COMM_WORLD.Get_size() > 1
except ImportError:
using_mpi = False
super(Pymultinest, self).__init__( super(Pymultinest, self).__init__(
likelihood=likelihood, likelihood=likelihood,
priors=priors, priors=priors,
...@@ -96,13 +89,6 @@ class Pymultinest(_TemporaryFileSamplerMixin, NestedSampler): ...@@ -96,13 +89,6 @@ class Pymultinest(_TemporaryFileSamplerMixin, NestedSampler):
**kwargs **kwargs
) )
self._apply_multinest_boundaries() 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): def _translate_kwargs(self, kwargs):
kwargs = super()._translate_kwargs(kwargs) kwargs = super()._translate_kwargs(kwargs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment