GPU Programming with CUDA and Python ( cudapython | 14 hours )
- doświadczenie w programowaniu
- Doświadczenie z NumPy (tablice ndarray, funkcje ufunc itp.)
Publiczność
- Programiści
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.
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
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