Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Programowanie GPU

Informacje ogólne

Kod przedmiotu: 1000-I2PGPU Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Programowanie GPU
Jednostka: Wydział Matematyki i Informatyki
Grupy: Inf., I st., stacjonarne, 2 rok, przedmioty do wyboru
Inf., I st., stacjonarne, 3 rok, przedmioty do wyboru
Inf., II st, stacjonarne, 1-2 rok, przedmioty do wyboru (podstawowe)
Inf., II st, stacjonarne, przedmioty do wyboru
Wszystkie przedmioty z WMiI
Punkty ECTS i inne: 6.00
Język prowadzenia: polski
Wymagania wstępne:

Podstawy programowania, umiejętność programowania w C lub C++.

Rodzaj przedmiotu:

przedmiot fakultatywny

Całkowity nakład pracy studenta:

- godziny realizowane z udziałem nauczyciela: 60h (wykład 30h, ćwiczenia 30h)

- czas poświęcony na pracę indywidualną nad projektem zaliczeniowym (programem wykorzystującym możliwości równoległe GPU): 60h

- czas wymagany do przygotowania się do ćwiczeń i rozwiązanie wymaganej ilości przykładowych problemów (zadań): 30h

- czas wymagany do odbycia obowiązkowych praktyk: 0h


Razem 150h,


6ptk. ECTS

Efekty uczenia się - wiedza:

W1: Znajomość architektury GPU i jej wpływu na model programowania. Wiedza na temat różnych rodzajów pamięci i ich sposobów wykorzystania.

W2: Znajomość zasad pisania aplikacji (programów ogólnego zastosowania) na karty graficzne.

W3: Znajomość języków programowania i umiejętność ich wykorzystania do portowania aplikacji na karty GPU.

W4: Znajomość podstawowych algorytmów numerycznych (wzorców programistycznych) i ich implementacji na karty graficzne.

Efekty uczenia się - umiejętności:

U1: Umiejętność programowania GPGPU, wykorzystując możliwości obliczeń równoległych procesorów GPU.

U2: Umiejętność sprawdzenia poprawności kodu równoległego na GPU i analizy jego wydajności


Efekty uczenia się - kompetencje społeczne:

K1: Prezentacja działania programu zaliczeniowego i przedstawienie sposobu jego działania (opis kodu źródłowego).

K2: Skutecznie przekazuje innym swoje myśli w zrozumiały sposób

Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)

Metody dydaktyczne poszukujące:

- ćwiczeniowa
- projektu

Skrócony opis:

Wykład stanowi wprowadzenie do programowania równoległego ogólnego zastosowania na karty graficzne GP GPU.

Pełny opis:

  1. Wprowadzenie do programowania kart graficznych
  2. Przegląd podstawowych architektur sprzętowych (ATI, nVidia) wraz z implikacjami
  3. Przegląd języków i narzędzi do programowania kart graficznych
  4. Wprowadzenie do OpenCL / SYCL
  5. Podstawy programowana w języku CUDA
  6. Portowanie aplikacji z wykorzystaniem dyrektyw kompilatora - standard OpenACC
  7. Metody i mechanizmy optymalizacji kodu GPGPU
  8. Przykładowe problemy numeryczne i ich implementacja na karty graficzne
  9. Debugowanie, profilowanie i optymalizacja kodu.
Literatura:

[1] Jason Sanders, Edward Kandrot, "CUDA w przykładach: wprowadzenie do ogólnego programowania procesorów GPU''

[2] Jason Sanders, Edward Kandrot, "CUDA by Example: An Introduction to General-Purpose GPU Programming"

[3] David B. Kirk, Wen-mei W. Hwu, "Programming Massively Parallel Processors: A Hands-on Approach"

[4] Rob Farber, "CUDA application design and development"

[5] Duane Storti, Mete Yurtoglu: "CUDA for Engineers: An Introduction to High-Performance Parallel Computing"

Materiały w sieci:

[5] NVIDIA, "CUDA Toolkit Documentation", http://docs.nvidia.com/cuda

[6] NVIDIA Developers Blog, https://developer.nvidia.com/blog/

Metody i kryteria oceniania:

Zaliczenie na podstawie obecności i przedstawienia indywidualne projektu programistycznego polegającym na implementacji wybranego algorytmu na karty graficzne: W1, W2, W3, U1, U2, K1, K2

Wykonanie na zajęciach lub indywidualnie zadań programistycznych z zakresu obliczeń GPU: W4, U1

Zajęcia w cyklu "Semestr zimowy 2017/18" (zakończony)

Okres: 2017-10-01 - 2018-02-25
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Jakub Narębski
Prowadzący grup: Jakub Narębski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2018/19" (zakończony)

Okres: 2018-10-01 - 2019-02-24
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Jakub Narębski
Prowadzący grup: Jakub Narębski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2019/20" (zakończony)

Okres: 2019-10-01 - 2020-02-28
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Jakub Narębski
Prowadzący grup: Jakub Narębski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2020/21" (zakończony)

Okres: 2020-10-01 - 2021-02-21
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 32 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Jakub Narębski
Prowadzący grup: Jakub Narębski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Uwagi:

zajęcia będą prowadzone w formie zdalnej, wykorzystując uczelnianą instancje platformy Big Blue Button zintegrowaną z Moodle wydziałowym

Zajęcia w cyklu "Semestr zimowy 2021/22" (w trakcie)

Okres: 2021-10-01 - 2022-02-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Jakub Narębski
Prowadzący grup: Jakub Narębski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.