CUDA Academy · Lekcja

Witaj, GPU: pierwszy plik .cu

Zbudować i uruchomić minimalny program CUDA.

Lekcja 4 z 413 kroki

Witaj, GPU: pierwszy plik .cu to bezpłatna lekcja CUDA Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CUDA Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CUDA Academy zawiera 4 lekcji w sumie.

Pierwszy plik .cu

Czas zbudować coś rzeczywistego. Program CUDA znajduje się w pliku .cu, który może zawierać obok siebie zarówno kod CPU, jak i GPU. 🎉

Dołącz nagłówek

Większość przykładów CUDA zaczyna się od dołączenia standardowych nagłówków. Nagłówek CUDA runtime jest dołączany automatycznie przez nvcc, więc często wystarczy iostream.

#include <cstdio>

Oznaczanie kernela

Funkcja wykonywana na GPU to kernel. Należy oznaczyć ją kwalifikatorem __global__, aby nvcc skompilował ją dla urządzenia.

__global__ void hello() {
}

Wyświetlanie z GPU

Wewnątrz kernela można wywołać printf tak samo jak na CPU. Każdy wykonujący go wątek GPU wypisze własny wiersz.

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

Składnia uruchamiania

Aby uruchomić kernel, należy użyć konstrukcji uruchomienia triple-angle-bracket. Liczby w jej środku określają liczbę bloków i wątków, które zostaną wykonane.

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

Uruchomienia są asynchroniczne

Uruchomienie kernela natychmiast zwraca sterowanie, podczas gdy GPU pracuje w tle. CPU kontynuuje działanie, co jest wydajne, ale początkowo może być zaskakujące.

Oczekiwanie na GPU

Z tego powodu przed zakończeniem programu trzeba wykonać synchronizację, inaczej dane wyjściowe printf mogą nigdy nie pojawić się na ekranie.

cudaDeviceSynchronize();

Połączenie elementów

Funkcja main uruchamia kernel, a następnie czeka na jego zakończenie. To cały szkielet działającego programu CUDA.

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

Skompiluj program

Zapisz plik jako hello.cu i zbuduj go za pomocą nvcc, nazywając program wynikowy przy użyciu flagi -o.

nvcc hello.cu -o hello

Uruchom program

Teraz uruchom program. Wyświetlenie komunikatu Hello from GPU oznacza, że kod rzeczywiście wykonał się na urządzeniu. To pierwszy wynik z GPU! 🚀

./hello

Wiele wątków naraz

Zwiększ liczbę uruchamianych wątków, a zobaczysz powitanie wyświetlone wiele razy — po jednym wierszu na wątek. To prawdziwy przykład działania równoległego.

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

Szybkie sprawdzenie

Jeden szczegół decyduje o powodzeniu lub niepowodzeniu tego programu.

Podsumowanie

Napisał(a) Pan/Pani prawdziwy program CUDA: kernel __global__, uruchomienie z potrójnym nawiasem oraz synchronizację. Skompiluj go za pomocą nvcc, uruchom, a GPU przywita się z Panem/Panią. Gratulacje! 🎓

Bezpłatny start

Ucz się C++ dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Witaj, GPU: pierwszy plik .cu” jest bezpłatna?

Tak — pełny tekst „Witaj, GPU: pierwszy plik .cu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CUDA Academy, przejdź na CoddyKit PRO. Kurs CUDA Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Witaj, GPU: pierwszy plik .cu”?

Zbudować i uruchomić minimalny program CUDA. Ćwiczysz CUDA Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć CUDA Academy?

Nie wymagamy żadnego doświadczenia. CUDA Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Witaj, GPU: pierwszy plik .cu”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji CUDA Academy?

Tak. Każda lekcja CUDA Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wersje sterownika, środowiska wykonawczego i Toolkit
  2. Profesjonalne odczytywanie nvidia-smi
  3. Kompilowanie za pomocą nvcc
  4. Witaj, GPU: pierwszy plik .cu
← Powrót do CUDA Academy