Skip to content

Commit 324143f

Browse files
Only allow use of JoblibParallelBackend with MapReduceJob
1 parent 270038a commit 324143f

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

src/pydvl/parallel/map_reduce.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from ..utils.functional import maybe_add_argument
1919
from ..utils.types import MapFunction, ReduceFunction, Seed, ensure_seed_sequence
2020
from .backend import ParallelBackend, _maybe_init_parallel_backend
21-
from .backends import JoblibParallelBackend, RayParallelBackend
21+
from .backends import JoblibParallelBackend
2222
from .config import ParallelConfig
2323

2424
__all__ = ["MapReduceJob"]
@@ -108,6 +108,15 @@ def __init__(
108108
timeout: Optional[float] = None,
109109
):
110110
parallel_backend = _maybe_init_parallel_backend(parallel_backend, config)
111+
112+
if not isinstance(parallel_backend, JoblibParallelBackend):
113+
raise ValueError(
114+
f"Unexpected parallel backend {parallel_backend.__class__.__name__}. "
115+
"MapReduceJob only supports the use of JoblibParallelBackend "
116+
"with passing the specific"
117+
"joblib backend name using `joblib.parallel_config`. "
118+
)
119+
111120
self.parallel_backend = parallel_backend
112121

113122
self.timeout = timeout
@@ -140,16 +149,7 @@ def __call__(
140149
"""
141150
seed_seq = ensure_seed_sequence(seed)
142151

143-
if isinstance(self.parallel_backend, JoblibParallelBackend):
144-
backend = "loky"
145-
elif isinstance(self.parallel_backend, RayParallelBackend):
146-
backend = "ray"
147-
else:
148-
raise ValueError(
149-
f"Unexpected parallel backend {self.parallel_backend.__class__.__name__}"
150-
)
151-
152-
with Parallel(backend=backend, prefer="processes") as parallel:
152+
with Parallel(prefer="processes") as parallel:
153153
chunks = self._chunkify(self.inputs_, n_chunks=self.n_jobs)
154154
map_results: List[R] = parallel(
155155
delayed(self._map_func)(

0 commit comments

Comments
 (0)