diff --git a/arraycontext/impl/pytato/__init__.py b/arraycontext/impl/pytato/__init__.py index ec13738a..92db6ff0 100644 --- a/arraycontext/impl/pytato/__init__.py +++ b/arraycontext/impl/pytato/__init__.py @@ -219,18 +219,20 @@ def get_target(self): # {{{ PytatoPyOpenCLArrayContext -from pytato.target.loopy import LoopyPyOpenCLTarget - - -class _ArgSizeLimitingPytatoLoopyPyOpenCLTarget(LoopyPyOpenCLTarget): - def __init__(self, limit_arg_size_nbytes: int) -> None: - super().__init__() - self.limit_arg_size_nbytes = limit_arg_size_nbytes - - @memoize_method - def get_loopy_target(self) -> Optional["lp.PyOpenCLTarget"]: - from loopy import PyOpenCLTarget - return PyOpenCLTarget(limit_arg_size_nbytes=self.limit_arg_size_nbytes) +try: + from pytato.target.loopy import LoopyPyOpenCLTarget + + class _ArgSizeLimitingPytatoLoopyPyOpenCLTarget(LoopyPyOpenCLTarget): + def __init__(self, limit_arg_size_nbytes: int) -> None: + super().__init__() + self.limit_arg_size_nbytes = limit_arg_size_nbytes + + @memoize_method + def get_loopy_target(self) -> Optional["lp.PyOpenCLTarget"]: + from loopy import PyOpenCLTarget + return PyOpenCLTarget(limit_arg_size_nbytes=self.limit_arg_size_nbytes) +except ImportError: + pass class PytatoPyOpenCLArrayContext(_BasePytatoArrayContext):