Programowanie na kartach graficznych 0800-PROGRAF
Program zajęć (wykład):
- Historia i architektura GPU.
- Pierwszy program w CUDA, wywołanie funkcji jądra.
- Wątki i ich grupowanie.
- Wykorzystanie pamięci wspólnej (ang. shared memory).
- Używanie narzędzia CUDA Occupancy calculator.
- Pamięć stała i zdarzenia.
- Użycie pamięci tekstur.
- Współpraca z OpenGL.
- Operacje atomowe.
- Strumienie.
- Wykorzystanie zewnętrznych bibliotek:
-- cuBLAS
-- cuFFT
Program zajęć (Laboratorium):
- sumowanie wektorów,
- obliczanie iloczynów skalarnych (4 różne metody wraz z analizą ich wydajności),
- mnożenie macierzy (3 różne metody wraz z analizą wydajności),
- filtracja sygnałów,
- analiza wydajności dostępu do pamięci shared
- wielowątkowe tworzenie histogramów (operacje atomowe)
- strumieniowe przetwarzanie danych
- ćwiczenia z użeciem bilbiotek cuBLAS i cuFFT
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne
Metody dydaktyczne podające
- wykład informacyjny (konwencjonalny)
- wykład konwersatoryjny
Metody dydaktyczne poszukujące
- laboratoryjna
Rodzaj przedmiotu
Wymagania wstępne
Koordynatorzy przedmiotu
Kryteria oceniania
Metody oceniania:
kolokwium- W1, W2, W3, U1, U2, U3, K1, K2, K3
Kryteria oceniania:
Wykład: zaliczenie bez oceny na podstawie laboratorium
Laboratorium: zaliczenie na ocenę na podstawie dwóch kolokwiów
ndst – <50%
dst- 50% - 59%
dst plus- 60% - 69%
db- 70% - 79%
db plus- 80% - 89%
bdb- >90%
Możliwość zdobycia dodatkowej oceny/plusów za aktywność w czasie zajęć.
Praktyki zawodowe
nie dotyczy
Literatura
Literatura podstawowa:
1. Jason Sanders, Edward Kandrot, "CUDA w przykładach. Wprowadzenie do ogólnego programowania procesorów GPU", Helion 2012
2. NVIDIA, "CUDA_C_Programming_Guide"
3. NVIDIA, "CUDA_C_Best_Practices_Guide"
Literatura uzupełniająca:
1. David B. Kirk and Wen-mei W. Hwu, "Programming massively parallel processors : a hands-on approach", Burlington, MA : Morgan Kaufmann Publ., 2010
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: