CUDA Academy · Lezione

Hello GPU: il primo file .cu

Costruisca ed esegua un programma CUDA minimale.

Lezione 4 di 413 passaggi

Hello GPU: il primo file .cu è una lezione CUDA Academy gratuita su CoddyKit. Questa è la lezione 4 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.

Il primo file .cu

È il momento di costruire qualcosa di reale. Un programma CUDA risiede in un file .cu, che può contenere affiancati codice CPU e codice GPU. 🎉

Includere l'header

La maggior parte degli esempi CUDA inizia includendo gli header standard. L'header runtime di CUDA viene incluso automaticamente da nvcc, quindi spesso iostream è sufficiente.

#include <cstdio>

Contrassegnare un kernel

Una funzione eseguita sulla GPU è un kernel. La si contrassegna con il qualificatore __global__ affinché nvcc la compili per il device.

__global__ void hello() {
}

Stampare dalla GPU

All'interno del kernel può chiamare printf proprio come sulla CPU. Ogni thread della GPU che lo esegue produce una propria riga di output.

__global__ void hello() {
  printf("Hello from GPU\n");
}

La sintassi di lancio

Per eseguire un kernel si usa il lancio con triple-angle-bracket. I numeri al suo interno stabiliscono quanti blocchi e thread lo eseguiranno.

hello<<<1, 1>>>();

I lanci sono asincroni

Il lancio di un kernel restituisce immediatamente il controllo mentre la GPU lavora in background. La CPU continua l'esecuzione, un comportamento potente ma inizialmente sorprendente.

Attendere la GPU

Per questo motivo, prima che il programma termini deve synchronize, altrimenti l'output di printf potrebbe non comparire mai sullo schermo.

cudaDeviceSynchronize();

Mettere tutto insieme

La funzione main lancia il kernel e poi attende. Questa è l'intera struttura di base di un programma CUDA funzionante.

int main() {
  hello<<<1, 1>>>();
  cudaDeviceSynchronize();
}

Compilarlo

Salvi il file come hello.cu e lo compili con nvcc, assegnando un nome al programma di output con l'opzione -o.

nvcc hello.cu -o hello

Eseguirlo

Ora esegua il programma. Se vede stampato Hello from GPU, significa che il codice è stato realmente eseguito sul device. Questo è il suo primo output dalla GPU! 🚀

./hello

Molti thread contemporaneamente

Aumenti il lancio a molti threads e vedrà il messaggio stampato più volte, una riga per thread. Questa è la vera parallelizzazione in azione.

hello<<<1, 8>>>();

Controllo rapido

Un dettaglio determina il successo o il fallimento di questo programma.

Riepilogo

Ha scritto un vero programma CUDA: un kernel __global__, un launch con parentesi triple e una sincronizzazione. Lo compili con nvcc, lo esegua e la GPU la saluterà. Complimenti! 🎓

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 «Hello GPU: il primo file .cu» è gratuita?

Sì — il testo completo di «Hello GPU: il primo file .cu» è 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 «Hello GPU: il primo file .cu»?

Costruisca ed esegua un programma CUDA minimale. 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 4 di 4.

Quanto tempo richiede la lezione «Hello GPU: il primo file .cu»?

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. Versioni di driver, runtime e toolkit
  2. Leggere nvidia-smi come un professionista
  3. Compilare con nvcc
  4. Hello GPU: il primo file .cu
← Torna a CUDA Academy