Execuție Concurentă cu CUDA Streams și CUDA Graphs în PyTorch & Deep Learning Practic

Sintaxă & invocare Python
stream = torch.cuda.Stream(); with torch.cuda.stream(stream): ...

Un flux CUDA (torch.cuda.Stream) reprezintă o secvență liniară de operații executate în ordine pe GPU. Fluxuri diferite pot rula comenzi în mod concurent, permițând suprapunerea transferurilor de memorie cu calculele tensoriale.

CUDA Graphs merg un pas mai departe: capturează o secvență întreagă de kerneluri într-un graf static unic, permițând rularea repetată a zeci de operații printr-o singură instrucțiune hardware de lansare:

import torch

# Flux dedicat de captură
stream = torch.cuda.Stream()
torch.cuda.set_stream(stream)

# Încălzire prealabilă (Warmup)
static_input = torch.randn(32, 128, device="cuda")
model = MyModel().cuda()
for _ in range(3):
    static_output = model(static_input)

# Înregistrare graf CUDA
g = torch.cuda.CUDAGraph()
with torch.cuda.graph(g):
    static_output = model(static_input)

# Replay ultra-rapid în bucla de inferență
g.replay()

CUDA Graphs reduc latența de lansare de la zeci de microsecunde per kernel la doar câțiva nanosecunde, fiind indispensabile în serverele de producție.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Execuție Concurentă cu CUDA Streams și CUDA Graphs

Ai o întrebare despre Execuție Concurentă cu CUDA Streams și CUDA Graphs sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.