GPU Programming with CUDA and Python ( cudapython | 14 hours )

Prerequisites:
  • doświadczenie w programowaniu
  • Doświadczenie z NumPy (tablice ndarray, funkcje ufunc itp.)

Publiczność

  • Programiści
Overview:

CUDA (Compute Unified Device Architecture) to platforma obliczeń równoległych i API stworzone przez firmę Nvidia.

Trening prowadzony przez instruktora (online lub na miejscu) jest przeznaczony dla developerek średnio doświadczonych, którzy chcą używać CUDA do tworzenia Python aplikacji działających równolegle na procesorach NVIDIA GPU.

Po zakończeniu tego szkolenia uczestnicy będą w stanie

  • Używać kompilatora Numba do przyspieszania Python aplikacji działających na układach NVIDIA GPU.
  • Tworzyć, kompilować i uruchamiać niestandardowe jądra CUDA.
  • Zarządzać pamięcią GPU.
  • Przekształcić aplikację opartą na CPU w aplikację przyspieszoną przez GPU.

Format kursu

  • Interaktywny wykład i dyskusja.
  • Dużo ćwiczeń i praktyki.
  • Praktyczna implementacja w środowisku live-lab.

Opcje dostosowywania kursu

  • Aby poprosić o dostosowane szkolenie w ramach tego kursu, prosimy o kontakt w celu ustalenia szczegółów.
Course Outline:

Wprowadzenie

  • Czym jest programowanie GPU?
  • Dlaczego używać CUDA z Python?
  • Kluczowe pojęcia: wątki, bloki, siatka

Przegląd funkcji i architektury CUDA

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

Konfiguracja środowiska rozwojowego

  • Instalowanie zestawu narzędzi CUDA i sterowników
  • Instalowanie Python i Numba
  • Konfigurowanie i weryfikacja środowiska

Zasady równoległego Programming

  • Wprowadzenie do równoległej wykonania
  • Zrozumienie wątków i hierarchii wątków
  • Praca z grupami wątkowych (warpy) i synchronizacją

Praca z kompilatorem Numba

  • Wprowadzenie do Numba
  • Pisanie jąder CUDA przy użyciu Numba
  • Zrozumienie dekoratorów @cuda.jit

Budowanie niestandardowego jądra CUDA

  • Pisanie i uruchamianie podstawowego jądra
  • Używanie wątków do operacji element-by-element
  • Zarządzanie wymiarami siatki i bloków

Operacje pamięci Management

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

Zaawansowane tematy dotyczące przyspieszenia GPU

  • Pamięć współdzielona i synchronizacja
  • Używanie strumieni do asynchronicznej wykonania
  • Podstawy programowania wielu-GPU

Konwersja aplikacji opartych na CPU do GPU

  • Przedzierzazanie kodu CPU
  • Zidentyfikowanie sekcji równoległego wykonywania
  • Nadawanie logiki do jąder CUDA

Rozwiązywanie problemów

  • Debugowanie aplikacji CUDA
  • Częste błędy i sposób ich rozwiązania
  • Narzędzia i techniki do testowania i walidacji

Szczegóły i kolejne kroki

  • Przegląd kluczowych pojęć
  • Najlepsze praktyki w programowaniu GPU
  • Dodatkowe zasoby do kontynuowania nauki
Sites Published:

United Arab Emirates - GPU Programming with CUDA and Python

Qatar - GPU Programming with CUDA and Python

Egypt - GPU Programming with CUDA and Python

Saudi Arabia - GPU Programming with CUDA and Python

South Africa - GPU Programming with CUDA and Python

Brasil - GPU Programming with CUDA and Python

Canada - GPU Programming with CUDA and Python

中国 - GPU Programming with CUDA and Python

香港 - GPU Programming with CUDA and Python

澳門 - GPU Programming with CUDA and Python

台灣 - GPU Programming with CUDA and Python

USA - GPU Programming with CUDA and Python

Österreich - GPU Programming with CUDA and Python

Schweiz - GPU Programming with CUDA and Python

Deutschland - GPU Programming with CUDA and Python

Czech Republic - GPU Programming with CUDA and Python

Denmark - GPU Programming with CUDA and Python

Estonia - GPU Programming with CUDA and Python

Finland - GPU Programming with CUDA and Python

Greece - GPU Programming with CUDA and Python

Magyarország - GPU Programming with CUDA and Python

Ireland - GPU Programming with CUDA and Python

Israel - GPU Programming with CUDA and Python

Luxembourg - GPU Programming with CUDA and Python

Latvia - GPU Programming with CUDA and Python

España - GPU Programming with CUDA and Python

Italia - GPU Programming with CUDA and Python

Lithuania - GPU Programming with CUDA and Python

Nederland - GPU Programming with CUDA and Python

Norway - GPU Programming with CUDA and Python

Portugal - GPU Programming with CUDA and Python

România - GPU Programming with CUDA and Python

Sverige - GPU Programming with CUDA and Python

Türkiye - GPU Programming with CUDA and Python

Malta - GPU Programming with CUDA and Python

Belgique - GPU Programming with CUDA and Python

France - GPU Programming with CUDA and Python

日本 - GPU Programming with CUDA and Python

Australia - GPU Programming with CUDA and Python

Malaysia - GPU Programming with CUDA and Python

New Zealand - GPU Programming with CUDA and Python

Philippines - GPU Programming with CUDA and Python

Singapore - GPU Programming with CUDA and Python

Thailand - GPU Programming with CUDA and Python

Vietnam - GPU Programming with CUDA and Python

India - GPU Programming with CUDA and Python

Argentina - GPU Programming with CUDA and Python

Chile - GPU Programming with CUDA and Python

Costa Rica - GPU Programming with CUDA and Python

Ecuador - GPU Programming with CUDA and Python

Guatemala - GPU Programming with CUDA and Python

Colombia - GPU Programming with CUDA and Python

México - GPU Programming with CUDA and Python

Panama - GPU Programming with CUDA and Python

Peru - GPU Programming with CUDA and Python

Uruguay - GPU Programming with CUDA and Python

Venezuela - GPU Programming with CUDA and Python

Polska - GPU Programming with CUDA and Python

United Kingdom - GPU Programming with CUDA and Python

South Korea - GPU Programming with CUDA and Python

Pakistan - GPU Programming with CUDA and Python

Sri Lanka - GPU Programming with CUDA and Python

Bulgaria - GPU Programming with CUDA and Python

Bolivia - GPU Programming with CUDA and Python

Indonesia - GPU Programming with CUDA and Python

Kazakhstan - GPU Programming with CUDA and Python

Moldova - GPU Programming with CUDA and Python

Morocco - GPU Programming with CUDA and Python

Tunisia - GPU Programming with CUDA and Python

Kuwait - GPU Programming with CUDA and Python

Oman - GPU Programming with CUDA and Python

Slovakia - GPU Programming with CUDA and Python

Kenya - GPU Programming with CUDA and Python

Nigeria - GPU Programming with CUDA and Python

Botswana - GPU Programming with CUDA and Python

Slovenia - GPU Programming with CUDA and Python

Croatia - GPU Programming with CUDA and Python

Serbia - GPU Programming with CUDA and Python

Bhutan - GPU Programming with CUDA and Python

Nepal - GPU Programming with CUDA and Python