0Pricing
CUDA Academy · Lezione

Limitato dal calcolo contro limitato dalla memoria

Legga il roofline per pianificare le correzioni.

Limitato dal calcolo contro limitato dalla memoria è una lezione CUDA Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento CUDA Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CUDA Academy include 4 lezioni in totale.

Due tipi di limite

Ogni kernel incontra uno di due limiti. È compute-bound, cioè limitato dai calcoli, oppure memory-bound, cioè limitato dallo spostamento dei dati. ⚖️

Definizione di compute-bound

Un kernel compute-bound mantiene occupate le unità di calcolo e raramente attende la memoria. Il suo limite è il throughput aritmetico puro.

Definizione di memory-bound

Un kernel memory-bound trascorre il proprio tempo in attesa dei dati. I core restano inattivi mentre i byte arrivano lentamente dalla memoria globale.

Intensità aritmetica

Il rapporto chiave è l'intensità aritmetica: il numero di operazioni matematiche eseguite per ogni byte caricato. Un'intensità elevata indica un limite di calcolo, una bassa un limite di memoria.

Il grafico roofline

In un grafico roofline, i kernel con bassa intensità raggiungono il limite inclinato della memoria, mentre quelli con alta intensità raggiungono il limite orizzontale del calcolo.

Perché la diagnosi è importante

Correggere il limite sbagliato fa sprecare energie. Aggiungere calcoli a un kernel memory-bound non cambia nulla: deve invece ridurre il traffico di dati.

Correggere i kernel memory-bound

Per velocizzare un kernel memory-bound, renda gli accessi coalesced, riutilizzi i dati nella memoria condivisa e metta in cache i valori per effettuare meno letture.

Correggere i kernel compute-bound

Per un carico compute-bound, aumenti il parallelismo, utilizzi operazioni matematiche più rapide oppure ricorra ai Tensor Core per superare il limite del calcolo.

La maggior parte dei kernel è memory-bound

Nella pratica, la maggior parte dei kernel CUDA è memory-bound. Di solito la risorsa scarsa è la larghezza di banda, non l'aritmetica.

Lasci decidere al profiler

Non cerchi di indovinare il limite. Il roofline di Nsight Compute colloca automaticamente il kernel sotto il limite corretto.

Un semplice test mentale

Si ponga una domanda: sono più vicini al picco i core o le unità di memoria? La risorsa satura indica il tipo di limite.

Verifica rapida

Un kernel ha un'intensità aritmetica molto bassa.

Riepilogo

Individui prima il limite: i kernel memory-bound hanno bisogno di meno traffico, quelli compute-bound di più calcoli. Il roofline le indica quale dei due è presente. 👏

Domande Frequenti

La lezione «Limitato dal calcolo contro limitato dalla memoria» è gratuita?

Sì — il testo completo di «Limitato dal calcolo contro limitato dalla memoria» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso CUDA Academy, passa a CoddyKit PRO. Il corso CUDA Academy include 4 lezioni in totale.

Cosa imparerò in «Limitato dal calcolo contro limitato dalla memoria»?

Legga il roofline per pianificare le correzioni. Eserciti CUDA Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare CUDA Academy?

Non è richiesta alcuna esperienza precedente. CUDA Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Limitato dal calcolo contro limitato dalla memoria»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione CUDA Academy?

Sì. Ogni lezione CUDA Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Vista della timeline in Nsight Systems
  2. Metriche dei kernel in Nsight Compute
  3. Limitato dal calcolo contro limitato dalla memoria
  4. Annotare il codice con NVTX
← Torna a CUDA Academy