Plan Szkolenia

Wprowadzenie

  • Czym jest programowanie GPU?
  • Dlaczego warto używać CUDA z Pythonem?
  • Kluczowe koncepcje: wątki, bloki, siatki

Omówienie funkcji i architektury CUDA

  • Architektura GPU vs CPU
  • Zrozumienie SIMT (Single Instruction, Multiple Threads)
  • Model programowania CUDA

Konfigurowanie środowiska deweloperskiego

  • Instalacja zestawu narzędzi CUDA i sterowników
  • Instalacja Pythona i Numba
  • Konfigurowanie i weryfikowanie środowiska

Podstawy programowania równoległego

  • Wprowadzenie do wykonywania operacji równoległych
  • Zrozumienie wątków i hierarchii wątków
  • Praca z warpkami i synchronizacją

Praca z kompilatorem Numba

  • Wprowadzenie do Numba
  • Pisanie jąder CUDA za pomocą Numba
  • Zrozumienie dekoratorów @cuda.jit

Budowanie niestandardowego jądra CUDA

  • Pisanie i uruchamianie podstawowego jądra
  • Korzystanie z wątków do operacji element po elemencie
  • Zarządzanie wymiarami siatki i bloków

Zarządzanie pamięcią

  • Typy pamięci GPU (globalna, współdzielona, lokalna, stała)
  • Transfer danych między hostem a urządzeniem
  • Optymalizacja użycia pamięci i unikanie garnek

Zaawansowane tematy w przyspieszaniu GPU

  • Współdzielona pamięć i synchronizacja
  • Korzystanie z strumieni do asynchronicznego wykonywania
  • Podstawy programowania wielo-GPU

Konwertowanie aplikacji opartych na CPU na GPU

  • Profiling kodu CPU
  • Identyfikacja sekcji podlegających równolegleniu
  • Przenoszenie logiki do jąder CUDA

Rozwiązywanie problemów

  • Debugowanie aplikacji CUDA
  • Najczęstsze błędy i ich rozwiązywanie
  • Narzędzia i techniki testowania oraz walidacji

Podsumowanie i dalsze kroki

  • Przegląd kluczowych koncepcji
  • Najlepsze praktyki w programowaniu GPU
  • Zasoby do kontynuacji nauki

Wymagania

  • Doświadczenie w programowaniu Pythonem
  • Znajomość NumPy (ndarrays, ufuncs itp.)

Audience

  • Deweloperzy
 14 godzin

Liczba uczestników


Cena za uczestnika

Opinie uczestników (1)

Propozycje terminów

Powiązane Kategorie