Zasady zaliczenia
- Obecność na zajęciach (obowiązują ogólnoakademickie reguły dotyczące dopuszczalnych nieobecności).
- Systematyczna praca nad projektem zaliczeniowym.
- Uzyskanie min. 51% punktów z testu kończącego wykład.
- Uzyskanie min. oceny dostatecznej z końcowego projektu zaliczeniowego oraz oddanie go w wyznaczonym terminie.
Projekt zaliczeniowy
Równoległa operacja dwuwymiarowego splotu obrazu
Wersja podstawowa na ocenę dostateczną: podstawowy splot 2D w pamięci globalnej
- załadowanie obrazu w skali szarości w postaci macierzy zawierającej wartości pikseli,
- implementacja kernel’a CUDA wykonującego operację splotu, gdzie każdy wątek oblicza jeden pikselobrazu wynikowego na podstawie kwadratowego okna filtru,
- każdy kernel odczytuje dane z pamięci globalnej,
- brak konieczności obsługi padding’u (wypełnienia brzegów).
Wersja rozszerzona o wykorzystanie pamięci współdzielonej, ocena dobra
- przed wykonaniem splotu blok wątków ładuje swój fragment obrazu do pamięci współdzielonej,
- każdy wątek korzysta z danych w pamięci współdzielonej, aby przyspieszyć dostęp do sąsiednich pikseli,
- bloki mają miejsce na przechowywanie dodatkowych pikseli wypełniających (padding).
Wersja złożona na ocenę bardzo dobrą: wykorzystanie asynchronicznego transferu pamięci
- implementacja wykorzystuje asynchroniczne transfery danych do pamięci współdzielonej przy użyciu strumieni CUDA i funkcji cudaMemcpyAsync,
- dodatkowa możliwość przetwarzania obrazu w kawałkach (tiles), by przetwarzać duże obrazy bez przekraczania limitu pamięci współdzielonej; w praktyce oznacza to podział obraz na małe fragmenty (np. 32×32, 16×16) – tzw. tiles – i przetwarzanie je niezależnie (jeden blok na raz).
Termin oddania: 20 stycznia 2026.
Samodzielność pracy
Wszystkie projekty zaliczeniowe będą poddawane sprawdzeniu systemem antyplagiatowym oraz systemem wykrywającym udział rozwiązań automatycznych w powstawaniu rozwiązania. W przypadku stwierdzenia niesamodzielności, student uzyskuje ocenę niedostateczną bez możliwości poprawy. Niewykluczone są również dalsze konsekwencje dyscyplinarne.
