Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions psydac/ddm/mpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,22 @@ def Barrier(self):


class MPIwrapper:
def __init__(self, use_mpi: bool = False):
def __init__(
self,
use_mpi: bool = False,
verbose: bool = False,
):
self.use_mpi = use_mpi
if use_mpi:
from mpi4py import MPI

self._MPI = MPI
print("MPI is enabled")
if verbose:
print("MPI is enabled")
else:
self._MPI = MockMPI()
print("MPI is NOT enabled")
if verbose:
print("MPI is NOT enabled")

@property
def MPI(self):
Expand Down Expand Up @@ -89,12 +95,15 @@ def COMM_WORLD(self):
mpi_enabled = False

# TODO: add environment variable for mpi use
mpi_wrapper = MPIwrapper(use_mpi=mpi_enabled)
mpi_wrapper = MPIwrapper(
use_mpi=mpi_enabled,
verbose=False,
)

# TYPE_CHECKING is True when type checking (e.g., mypy), but False at runtime.
if TYPE_CHECKING:
from mpi4py import MPI

mpi = MPI
else:
mpi = mpi_wrapper.MPI
mpi = mpi_wrapper.MPI