Distributed gather crashes on PyTorch < 2.6
Les mainteneurs répondent en général sous 1 jour
@akshatvishu y travaille déjà.
Depuis le 3/2/2026.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 68/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Domaine
- distributed-systems
Piste de recherche
Commencez dans src/diffusers/models/_modeling_parallel.py, au niveau de gather_size_by_comm, et exécutez la reproduction distribuée minimale de l’issue avec PyTorch 2.4. Suivez la manière dont les backends de communication déterminent gather_device. Le travail est terminé lorsque le gather distribué ne lève plus AttributeError avec les versions prises en charge de PyTorch 2.1–2.5, tout en conservant le comportement des versions plus récentes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
AttributeError: module 'torch' has no attribute 'accelerator' when running distributed gather on PyTorch versions < 2.6.
This error happens because gather_size_by_comm in src/diffusers/models/_modeling_parallel.py uses torch.accelerator.current_accelerator(), which only exists in PyTorch 2.6+. Diffusers officially supports PyTorch 2.1+, so this causes a crash on versions 2.1–2.5 with AttributeError: module 'torch' has no attribute 'accelerator'.
Reproduction
Since this is a utility function; it can be triggered directly with a minimal distributed setup:
import torch.distributed as dist
from diffusers.models._modeling_parallel import gather_size_by_comm
dist.init_process_group(
backend="gloo",
init_method="file:///tmp/pg",
rank=0,
world_size=1,
)
gather_size_by_comm(1, dist.group.WORLD)
Logs
[rank0]: Traceback (most recent call last):
[rank0]: File "/home/aja/diffusers/test.py", line 11, in <module>
[rank0]: gather_size_by_comm(1, dist.group.WORLD)
[rank0]: File "/home/aja/diffusers/src/diffusers/models/_modeling_parallel.py", line 293, in gather_size_by_comm
[rank0]: gather_device = "cpu" if "cpu" in comm_backends else torch.accelerator.current_accelerator()
[rank0]: ^^^^^^^^^^^^^^^^^
[rank0]: File "/home/aja/diffusers/.venv/lib/python3.11/site-packages/torch/__init__.py", line 2216, in __getattr__
[rank0]: raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
[rank0]: AttributeError: module 'torch' has no attribute 'accelerator'
System Info
diffuser : 0.37.0.dev0
torch : 2.4.0
python : 3.11
system: Linux
Who can help?
@sayakpaul @DN6
- Langage dominant
- Python
- Étoiles
- 34.8k
- Forks
- 7.4k
- Merge moyen
- 2 j 15 h
- PR mergées (30 j)
- 58
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de huggingface/diffusers
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
huggingface/diffusers#15146 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
huggingface/diffusers#15125 ·
Les mainteneurs répondent en général sous 1 jour
-
`encode_video` truncates a fractional `fps`, so the video runs longer than its audioPeut-être pris @guptaishaan l’a pris il y a 8 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
huggingface/diffusers#15104 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
VaeImageProcessor.denormalize() raises AttributeError for NumPy inputsPeut-être pris @tonycoder-hub l’a pris il y a 18 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
huggingface/diffusers#15011 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
`ModelMixin.from_pretrained` on a sharded checkpoint fails under `HF_HUB_OFFLINE=1` even when fully cached (`_get_checkpoint_shard_files` still calls `model_info`)Peut-être pris @Subodh-17 l’a pris il y a 23 jours. Ouvertebug models
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
huggingface/diffusers#14952 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de huggingface/diffusers
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
Validate finite output clamping limits in StepPredictor.prepare_clamping_params to prevent silent NaN/Inf propagationPeut-être pris @muskan-creates352 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
mllam/neural-lam#848 ·
Les mainteneurs répondent en général sous 2 jours
-
infra
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
fab-geocommuns/RNB-coeur#1166 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
deepspeedai/DeepSpeed#8951 ·
Les mainteneurs répondent en général sous 2 jours