CUDA
Informacje ogólne
Kod przedmiotu: | 0800-CUDA |
Kod Erasmus / ISCED: |
(brak danych)
/
(0611) Computer use
|
Nazwa przedmiotu: | CUDA |
Jednostka: | Wydział Fizyki, Astronomii i Informatyki Stosowanej |
Grupy: |
Kursy komputerowe dla Fizyki Technicznej s2 |
Punkty ECTS i inne: |
4.00
|
Język prowadzenia: | polski |
Wymagania wstępne: | Kurs programowania C (np. 0800-JPRO) |
Całkowity nakład pracy studenta: | Godziny realizowane z udziałem nauczycieli ( 60 godz.): - udział w wykładach – 15 - udział w laboratorium – 45 Czas poświęcony na pracę indywidualną studenta ( 40 godz.): - przygotowanie do zajęć - 30 - przygotowanie do kolokwium - 10 Łącznie: 100 godz. |
Efekty uczenia się - wiedza: | Dla Informatyki Stosowanej: W1: Ma pogłębioną wiedzę z zakresu architektury i programowania wielordzeniowych kart graficznych w technologii CUDA – K_W02, K_W04, K_W05 dla IS2 W2: Posiada wiedzę pozwalającą na zrównoleglenie algorytmu przetwarzania danych na karty graficzne w celu przyspieszenia obliczeń - K_W02, K_W03 dla IS2 W3: Zna historię rozwoju, stan obecny oraz trendy rozwojowe układów GPU pozwalających na równoległe przetwarzanie danych K_W09 dla IS2 Dla Fizyki Technicznej: W1: Ma pogłębioną wiedzę z zakresu architektury i programowania wielordzeniowych kart graficznych w technologii CUDA – K_W02, K_W04, K_W05, K_W07 dla FTs2 W2: Posiada wiedzę pozwalającą na zrównoleglenie algorytmu przetwarzania danych na karty graficzne w celu przyspieszenia obliczeń - K_W04, K_W07 dla FTs2 W3: Zna historię rozwoju, stan obecny oraz trendy rozwojowe układów GPU pozwalających na równoległe przetwarzanie danych K_W02, K_W07 dla FTs2 |
Efekty uczenia się - umiejętności: | Dla Informatyki Stosowanej: U1 – Potrafi zastosować posiadaną wiedzę do analizy i reformułowania algorytmów na wielordzeniową platformę CUDA – K_U04, K_U09 dla ISs2 U2 – Analizuje wydajność algorytmu, jego „wąskie gardła” oraz potrafi dokonać krytycznej oceny przydatności wielordzeniowej karty graficznej w obliczeniach K_U08 dla ISs2 U3 – Wykorzystuje dokumentacje techniczną i potrafi samodzielnie uzupełnić swoją wiedzę podczas tworzenia kodu K_U02, K_U03 dla ISs2 Dla Fizyki Technicznej: U1 – Potrafi zastosować posiadaną wiedzę do analizy i reformułowania algorytmów na wielordzeniową platformę CUDA – K_U01, K_U09 dla FTs2 U2 – Analizuje wydajność algorytmu, jego „wąskie gardła” oraz potrafi dokonać krytycznej oceny przydatności wielordzeniowej karty graficznej w obliczeniach K_U05 dla FTs2 U3 – Wykorzystuje dokumentacje techniczną i potrafi samodzielnie uzupełnić swoją wiedzę podczas tworzenia kodu K_U03, K_U09 dla FTs2 |
Efekty uczenia się - kompetencje społeczne: | Dla Informatyki Stosowanej: K1 - Umie krytycznie oceniać swoje umiejętności i szybkość programowania – K_K01 dla ISs2 K2 – Posiada umiejętność prowadzenia dyskusji na temat wydajności proponowanych rozwiązań implementacyjnych, potrafi precyzyjnie zadawać pytania – K_K01 dla ISs2 K3 – Potrafi skutecznie implementować oprogramowanie wykonujące analizę numeryczną danych w problemach naukowo-badawczych i programistyczno-wdrożeniowych – K_K04, K_K06 dla ISs2 Dla Fizyki Technicznej: K1 - Umie krytycznie oceniać wyniki wydajności przetwarzania danych przedstawiane w literaturze – K_K01 dla FTs2 K2 – Umie krytycznie oceniać swoje umiejętności i szybkość programowania – K_K01 dla FTs2 K3 – Posiada umiejętność prowadzenia dyskusji na temat wydajności proponowanych rozwiązań implementacyjnych, potrafi precyzyjnie zadawać pytania – K_K01 dla FTs2 |
Metody dydaktyczne: | Metody dydaktyczne podające: - pogadanka - wykład informacyjny (konwencjonalny) - wykład konwersatoryjny Metody dydaktyczne poszukujące: - ćwiczeniowa - laboratoryjna |
Metody dydaktyczne podające: | - pogadanka |
Metody dydaktyczne poszukujące: | - ćwiczeniowa |
Skrócony opis: |
NVIDIA wprowadziła technologię CUDA umożliwiającą wykorzystanie procesorów graficznych do prowadzenia równoległych obliczeń ogólnego przeznaczenia na procesorach graficznych. Celem kursu jest wprowadzenie do programowania procesorów graficznych w języku CUDA C. Główny nacisk położony zostanie na wydajność rozwijanych aplikacji poprzez wykorzystywanie różnych typów pamięci (pamięć urządzenia, shared, rejestry) oraz podziału zadań między wątki. Przedstawione zostaną biblioteki cuFFT i cuBLAS, wykorzystanie operacji atomowych oraz strumienie. |
Pełny opis: |
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ędzi optymalizacyjnych. - Pomiar czasu i zdarzenia. - 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 |
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 |
Metody i 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ęć. |
Zajęcia w cyklu "Semestr zimowy 2022/23" (zakończony)
Okres: | 2022-10-01 - 2023-02-19 |
Przejdź do planu
PN WT LAB
WYK
ŚR CZ PT |
Typ zajęć: |
Laboratorium, 45 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | Marcin Sylwestrzak | |
Prowadzący grup: | Marcin Sylwestrzak | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie
Laboratorium - Zaliczenie na ocenę Wykład - Zaliczenie |
Zajęcia w cyklu "Semestr zimowy 2024/25" (w trakcie)
Okres: | 2024-10-01 - 2025-02-23 |
Przejdź do planu
PN WT ŚR WYK
LAB
CZ PT |
Typ zajęć: |
Laboratorium, 45 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | Marcin Sylwestrzak | |
Prowadzący grup: | Marcin Sylwestrzak | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie
Laboratorium - Zaliczenie na ocenę Wykład - Zaliczenie |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.