diff --git a/op_builder/sparse_attn.py b/op_builder/sparse_attn.py index ecea89d526239796aba8c85c10a37689575124d0..2af8107f3d8cb6b720b18bb59dbd66694d2a601b 100644 --- a/op_builder/sparse_attn.py +++ b/op_builder/sparse_attn.py @@ -3,7 +3,11 @@ Copyright 2020 The Microsoft DeepSpeed Team """ import warnings from .builder import OpBuilder -from packaging import version as pkg_version + +try: + from packaging import version as pkg_version +except ImportError: + pkg_version = None class SparseAttnBuilder(OpBuilder): @@ -62,8 +66,14 @@ class SparseAttnBuilder(OpBuilder): f"please install triton==1.0.0 if you want to use sparse attention") return False - installed_triton = pkg_version.parse(triton.__version__) - if installed_triton != pkg_version.parse("1.0.0"): + if pkg_version: + installed_triton = pkg_version.parse(triton.__version__) + triton_mismatch = installed_triton != pkg_version.parse("1.0.0") + else: + installed_triton = triton.__version__ + triton_mismatch = installed_triton != "1.0.0" + + if triton_mismatch: self.warning( f"using untested triton version ({installed_triton}), only 1.0.0 is known to be compatible" )