diff --git a/seal5/passes.py b/seal5/passes.py index 6e1afb6d..159467c0 100644 --- a/seal5/passes.py +++ b/seal5/passes.py @@ -1,4 +1,5 @@ import time +import multiprocessing from pathlib import Path from enum import Enum, IntFlag, auto from dataclasses import dataclass @@ -11,6 +12,10 @@ logger = get_logger() +# NUM_THREADS = multiprocessing.cpu_count() +NUM_THREADS = 1 + + class PassFormat(IntFlag): NONE = auto() CDSL = auto() @@ -148,13 +153,14 @@ def __init__( pass_list: List[Seal5Pass], skip: Optional[List[str]] = None, only: Optional[List[str]] = None, - parallel: int = 2, + parent: Optional["PassManager"] = None, + parallel: Optional[int] = None, ): self.name = name self.pass_list = pass_list self.skip = skip if skip is not None else (parent.skip if parent else []) self.only = only if only is not None else (parent.only if parent else []) - self.parallel = parallel + self.parallel = parallel if parallel is not None else (parent.parallel if parent else NUM_THREADS) self.metrics: dict = {} self.open: bool = False