Illegal memory access on non-0 cuda devices from `histogram`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Ambito
- machine-learning
Direzione di ricerca
Inizia con la riproduzione del problema nell’issue usando megablocks.ops.histogram su cuda:1 e CUDA_LAUNCH_BLOCKING=1, quindi esamina megablocks/ops/histogram.py, il punto di ingresso mostrato nel traceback. Il lavoro è completato quando histogram viene eseguito senza un accesso illegale alla memoria e calcola il risultato atteso per tensori su dispositivi CUDA diversi da zero.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When the input tensor is not on device 0, histogram causes an illegal memory access which prevents indices_and_bins from being computed correctly on a model & inputs which aren't on device zero.
Reproduction:
import torch
import megablocks
idx = 1
device = f'cuda:{idx}'
test_tensor = torch.tensor([ 0 ], dtype=torch.int64, device=device)
result = megablocks.ops.histogram(test_tensor, 1).cpu()
when run with CUDA_LAUNCH_BLOCKING=1 we get
Traceback (most recent call last):
File "/home/ubuntu/test_mb.py", line 8, in <module>
result = megablocks.ops.histogram(test_tensor, 1).cpu()
File "/home/ubuntu/.local/lib/python3.10/site-packages/torch/autograd/function.py", line 598, in apply
return super().apply(*args, **kwargs) # type: ignore[misc]
File "/home/ubuntu/.local/lib/python3.10/site-packages/megablocks/ops/histogram.py", line 17, in forward
return ops.histogram(x, max_val)
RuntimeError: an illegal memory access was encountered
whereas when idx is set to 0 the correct values are computed. Quite confused as to how this might be possible.
I'm on megablocks 0.5.1,
numpy==2.0.0
torch==2.3.1
torchaudio==2.3.1
torchvision==0.18.1
triton==2.3.1
Cuda = 12.1 and reproduced on 2 A100's.
- Lingua principale
- Python
- Stelle
- 1.6k
- Fork
- 228
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
elviskahoro/sdk-python-attio#144 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
RenyiELBO raises TypeError when model has no sample sitesForse già presa @alibb007 l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno