From 74a810f0690ed03480f0797a58c1e8079a6237c1 Mon Sep 17 00:00:00 2001 From: a120092009 Date: Tue, 11 Nov 2025 14:24:54 +0800 Subject: [PATCH 1/4] Add MLU Support. --- src/diffusers/pipelines/pipeline_utils.py | 1 + src/diffusers/utils/__init__.py | 1 + src/diffusers/utils/import_utils.py | 5 +++++ src/diffusers/utils/torch_utils.py | 2 ++ 4 files changed, 9 insertions(+) diff --git a/src/diffusers/pipelines/pipeline_utils.py b/src/diffusers/pipelines/pipeline_utils.py index 392d5fb3feb4..ed3c0698520f 100644 --- a/src/diffusers/pipelines/pipeline_utils.py +++ b/src/diffusers/pipelines/pipeline_utils.py @@ -62,6 +62,7 @@ is_accelerate_version, is_hpu_available, is_torch_npu_available, + is_mlu_available, is_torch_version, is_transformers_version, logging, diff --git a/src/diffusers/utils/__init__.py b/src/diffusers/utils/__init__.py index cf77aaee8205..282cc914d5ae 100644 --- a/src/diffusers/utils/__init__.py +++ b/src/diffusers/utils/__init__.py @@ -81,6 +81,7 @@ is_google_colab, is_hf_hub_version, is_hpu_available, + is_mlu_available, is_inflect_available, is_invisible_watermark_available, is_k_diffusion_available, diff --git a/src/diffusers/utils/import_utils.py b/src/diffusers/utils/import_utils.py index adf8ed8b0694..a88dd951ce3a 100644 --- a/src/diffusers/utils/import_utils.py +++ b/src/diffusers/utils/import_utils.py @@ -192,6 +192,7 @@ def _is_package_available(pkg_name: str, get_dist_name: bool = False) -> Tuple[b _torch_xla_available, _torch_xla_version = _is_package_available("torch_xla") _torch_npu_available, _torch_npu_version = _is_package_available("torch_npu") +_torch_mlu_available, _torch_mlu_version = _is_package_available("torch_mlu") _transformers_available, _transformers_version = _is_package_available("transformers") _hf_hub_available, _hf_hub_version = _is_package_available("huggingface_hub") _kernels_available, _kernels_version = _is_package_available("kernels") @@ -243,6 +244,10 @@ def is_torch_npu_available(): return _torch_npu_available +def is_mlu_available(): + return _torch_mlu_available + + def is_flax_available(): return _flax_available diff --git a/src/diffusers/utils/torch_utils.py b/src/diffusers/utils/torch_utils.py index a1ab8cda431f..f9374941f4b3 100644 --- a/src/diffusers/utils/torch_utils.py +++ b/src/diffusers/utils/torch_utils.py @@ -286,6 +286,8 @@ def get_device(): return "xpu" elif torch.backends.mps.is_available(): return "mps" + elif torch.mlu.is_available(): + return "mlu" else: return "cpu" From 933e8c6a589f01ba4b683f6b35bf0c706b37ff7e Mon Sep 17 00:00:00 2001 From: a120092009 Date: Wed, 12 Nov 2025 09:29:55 +0800 Subject: [PATCH 2/4] fix comment. --- src/diffusers/utils/torch_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/diffusers/utils/torch_utils.py b/src/diffusers/utils/torch_utils.py index f9374941f4b3..a0a980f6b16b 100644 --- a/src/diffusers/utils/torch_utils.py +++ b/src/diffusers/utils/torch_utils.py @@ -20,7 +20,7 @@ from typing import Callable, Dict, List, Optional, Tuple, Union from . import logging -from .import_utils import is_torch_available, is_torch_npu_available, is_torch_version +from .import_utils import is_torch_available, is_torch_npu_available, is_torch_version, is_mlu_available if is_torch_available(): @@ -286,7 +286,7 @@ def get_device(): return "xpu" elif torch.backends.mps.is_available(): return "mps" - elif torch.mlu.is_available(): + elif is_mlu_available(): return "mlu" else: return "cpu" From ac7029c23faa81317191c4e42d7200519b755cf6 Mon Sep 17 00:00:00 2001 From: a120092009 Date: Wed, 12 Nov 2025 09:34:11 +0800 Subject: [PATCH 3/4] rename is_mlu_available to is_torch_mlu_available --- src/diffusers/pipelines/pipeline_utils.py | 2 +- src/diffusers/utils/__init__.py | 2 +- src/diffusers/utils/import_utils.py | 2 +- src/diffusers/utils/torch_utils.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/diffusers/pipelines/pipeline_utils.py b/src/diffusers/pipelines/pipeline_utils.py index ed3c0698520f..38f90d171ab3 100644 --- a/src/diffusers/pipelines/pipeline_utils.py +++ b/src/diffusers/pipelines/pipeline_utils.py @@ -62,7 +62,7 @@ is_accelerate_version, is_hpu_available, is_torch_npu_available, - is_mlu_available, + is_torch_mlu_available, is_torch_version, is_transformers_version, logging, diff --git a/src/diffusers/utils/__init__.py b/src/diffusers/utils/__init__.py index 282cc914d5ae..9ca5256a9355 100644 --- a/src/diffusers/utils/__init__.py +++ b/src/diffusers/utils/__init__.py @@ -81,7 +81,6 @@ is_google_colab, is_hf_hub_version, is_hpu_available, - is_mlu_available, is_inflect_available, is_invisible_watermark_available, is_k_diffusion_available, @@ -113,6 +112,7 @@ is_torch_version, is_torch_xla_available, is_torch_xla_version, + is_torch_mlu_available, is_torchao_available, is_torchao_version, is_torchsde_available, diff --git a/src/diffusers/utils/import_utils.py b/src/diffusers/utils/import_utils.py index a88dd951ce3a..57b0a337922a 100644 --- a/src/diffusers/utils/import_utils.py +++ b/src/diffusers/utils/import_utils.py @@ -244,7 +244,7 @@ def is_torch_npu_available(): return _torch_npu_available -def is_mlu_available(): +def is_torch_mlu_available(): return _torch_mlu_available diff --git a/src/diffusers/utils/torch_utils.py b/src/diffusers/utils/torch_utils.py index a0a980f6b16b..598c1f81b40a 100644 --- a/src/diffusers/utils/torch_utils.py +++ b/src/diffusers/utils/torch_utils.py @@ -20,7 +20,7 @@ from typing import Callable, Dict, List, Optional, Tuple, Union from . import logging -from .import_utils import is_torch_available, is_torch_npu_available, is_torch_version, is_mlu_available +from .import_utils import is_torch_available, is_torch_npu_available, is_torch_version, is_torch_mlu_available if is_torch_available(): @@ -286,7 +286,7 @@ def get_device(): return "xpu" elif torch.backends.mps.is_available(): return "mps" - elif is_mlu_available(): + elif is_torch_mlu_available(): return "mlu" else: return "cpu" From 937e36c37af8c35da22d394124a46adcaeed6086 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 12 Nov 2025 04:44:01 +0000 Subject: [PATCH 4/4] Apply style fixes --- src/diffusers/pipelines/pipeline_utils.py | 1 - src/diffusers/utils/__init__.py | 2 +- src/diffusers/utils/torch_utils.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/diffusers/pipelines/pipeline_utils.py b/src/diffusers/pipelines/pipeline_utils.py index 38f90d171ab3..392d5fb3feb4 100644 --- a/src/diffusers/pipelines/pipeline_utils.py +++ b/src/diffusers/pipelines/pipeline_utils.py @@ -62,7 +62,6 @@ is_accelerate_version, is_hpu_available, is_torch_npu_available, - is_torch_mlu_available, is_torch_version, is_transformers_version, logging, diff --git a/src/diffusers/utils/__init__.py b/src/diffusers/utils/__init__.py index 9ca5256a9355..6884d3be9292 100644 --- a/src/diffusers/utils/__init__.py +++ b/src/diffusers/utils/__init__.py @@ -108,11 +108,11 @@ is_tensorboard_available, is_timm_available, is_torch_available, + is_torch_mlu_available, is_torch_npu_available, is_torch_version, is_torch_xla_available, is_torch_xla_version, - is_torch_mlu_available, is_torchao_available, is_torchao_version, is_torchsde_available, diff --git a/src/diffusers/utils/torch_utils.py b/src/diffusers/utils/torch_utils.py index 598c1f81b40a..f760a1bf7261 100644 --- a/src/diffusers/utils/torch_utils.py +++ b/src/diffusers/utils/torch_utils.py @@ -20,7 +20,7 @@ from typing import Callable, Dict, List, Optional, Tuple, Union from . import logging -from .import_utils import is_torch_available, is_torch_npu_available, is_torch_version, is_torch_mlu_available +from .import_utils import is_torch_available, is_torch_mlu_available, is_torch_npu_available, is_torch_version if is_torch_available():