CUDA Academy · Lezione

Precisione mista: FP16, BF16, TF32

Scambiare precisione con throughput

Lezione 2 di 413 passaggi

Precisione mista: FP16, BF16, TF32 è una lezione CUDA Academy gratuita su CoddyKit. Questa è la lezione 2 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.

Scambiare bit con velocità

I Tensor Core ottengono la loro velocità dalla precisione mista: utilizzano formati numerici più piccoli, così l'hardware può eseguire molti più calcoli per ciclo. ⚡

Il costo di FP32

Il formato standard FP32 utilizza 32 bit per valore. È accurato ma pesante, quindi trasferire e moltiplicare molti valori FP32 consuma banda e tempo.

Ecco FP16

FP16 utilizza solo 16 bit: un esponente più piccolo e meno bit per la mantissa. Dimensioni dimezzate significano che è possibile trasferire e moltiplicare più valori contemporaneamente.

FP16 ha un intervallo ridotto

FP16 consente di risparmiare spazio, ma il suo esponente ristretto offre un intervallo dinamico molto limitato. I valori molto grandi o molto piccoli possono andare in overflow o ridursi a zero.

Ecco BF16

BF16 utilizza anch'esso 16 bit, ma conserva l'intero esponente di FP32, rinunciando invece a bit della mantissa. Ha l'intervallo di FP32 con una precisione inferiore.

Perché BF16 è ideale per il training

Poiché BF16 condivide l'ampio intervallo di FP32, i gradienti raramente vanno in overflow. Per questo BF16 è molto apprezzato per addestrare in sicurezza reti neurali di grandi dimensioni.

Ecco TF32

TF32 è un formato Tensor Core a 19 bit: utilizza l'esponente di FP32 con una mantissa ridotta. Accelera i calcoli pur apparendo come FP32 al codice.

L'accumulatore rimane ampio

Indipendentemente dal formato degli input, i Tensor Core di solito accumulano le somme parziali in FP32. La velocità deriva dagli input; la sicurezza dal totale progressivo.

Intervallo contro precisione

L'idea fondamentale è questa: FP16 e BF16 utilizzano entrambi 16 bit, ma li distribuiscono in modo diverso. Uno privilegia la precisione, l'altro l'intervallo.

Scegliere un formato

Utilizzi BF16 o TF32 quando l'intervallo è importante, e FP16 quando può gestire lo scaling. Il formato corretto dipende dai dati, non soltanto dalla velocità.

Dichiarare la mezza precisione

In CUDA C++ il tipo FP16 ha un nome breve. Questa riga dichiara un valore half pronto per i calcoli con i Tensor Core.

__half x = __float2half(1.5f);

Verifica rapida

Quale formato conserva l'intero intervallo dell'esponente di FP32 usando solo 16 bit?

Riepilogo

Ha visto come la precisione mista scambi bit con throughput: FP16 privilegia la precisione, BF16 l'intervallo e TF32 accelera i calcoli in stile FP32. L'accumulo ad ampia precisione mantiene i risultati sicuri. ✨

Gratis per iniziare

Impara C++ con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Precisione mista: FP16, BF16, TF32» è gratuita?

Sì — il testo completo di «Precisione mista: FP16, BF16, TF32» è 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 «Precisione mista: FP16, BF16, TF32»?

Scambiare precisione con throughput 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 2 di 4.

Quanto tempo richiede la lezione «Precisione mista: FP16, BF16, TF32»?

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. Cosa calcolano i Tensor Core
  2. Precisione mista: FP16, BF16, TF32
  3. L'API dei fragment WMMA
  4. Compromessi sulla stabilità numerica
← Torna a CUDA Academy