1
2
3
4
5
6
7
8
9
10
11
12
|
Tematy projektów
Temat projektu |
Uwagi |
1. Aplikacja równoległa MPI (MPICH, OpenMPI)
|
- wykonanie projektu jest warunkiem uzyskania zaliczenia,
- termin oddania: Lab. nr 9 (5-9.v.2025),
- architektura: liczba węzłów pracujących równolegle dopasowana do natury rozwiązywanego problemu i rozmiaru przetwarzanych danych,
- implementacja: praca w środowisku pracowni komputerowej WFiIS (MPICH, OpenMPI -- plus opcjonalnie dodatkowo wykorzystanie OpenMP, CUDA),
- postać: archiwum „nr_zespolu-nr_projektu-nazwisko-nazwisko.tar.gz” obejmujące podkatalog zawierający:
- kod źródłowy programu,
- plik z przykładowymi danymi wejściowymi,
- plik z poprawnymi wynikami działania na w/w danych wejściowych,
- plik z opisem budowy, działania i obsługi programu (zawierającym m. in. schemat blokowy)
– w formacie PDF,
- plik Makefile z regułami umożliwiającymi:
- - kompilację programu źródłowego do postaci wykonywalnej na komputerach pracowni,
- - uruchomienie programu z danymi przykładowymi,
- - przywrócenie zawartości podkatalogu do stanu wyjściowego.
- Archiwum projektu ma zostać zdeponowane poprzez witrynę kursu na Uczelnianej Platformie E-Learningowej.
|
2. Aplikacja rozproszona (Java RMI/FFI, CORBA) albo PGAS (UPC, UPC++, GASPI, XMP, PCJ)
|
- wykonanie projektu jest warunkiem uzyskania zaliczenia,
- termin oddania: Lab. nr 15 (16-25.vi.2025),
- architektura: dla wersji rozproszonej - wielowątkowy klient (zarządca) + minimum 2 odrębne serwery (wykonawcy);
dla wersji PGAS - skalowalna liczba procesów/wątków,
- architektura: liczba węzłów pracujących równolegle dopasowana do natury rozwiązywanego problemu
i rozmiaru przetwarzanych danych,
- implementacja: praca w środowisku pracowni komputerowej WFiIS (JDK, ORBacus, TAO, ... albo Berkeley UPC, UPC++, GASPI/GPI-2, XcalableMP, Parallel Computing in Java (PCJ) -- plus opcjonalnie dodatkowo wykorzystanie OpenMP, CUDA, OpenACC),
- pozostałe jak w pkt. 1.
- Archiwum projektu ma zostać zdeponowane poprzez witrynę kursu na Uczelnianej Platformie E-Learningowej.
|
Uzyskiwanie oceny zaliczeniowej |
- Realizacja w/w dwóch projektów w trakcie semestru (maksymalnie 2 × 45 pkt = 90 pkt):
- realizacja logiki aplikacji - 25 pkt,
- realizacja interfejsu użytkownika - 5 pkt,
- dokumentacja projektu (w tym kodu źródłowego) - 10 pkt,
- prezentacja działania projektu - 5 pkt.
- Terminowe zdeponowanie danego projektu - 5 pkt. (maksymalnie 2 × 5 pkt = 10 pkt).
Maksymalna liczba punktów: 100 pkt.
Końcowa tabela przeliczeniowa: punkty - ocena
50-59 | dst | 3.0 |
60-69 | +dst | 3.5 |
70-79 | db | 4.0 |
80-89 | +db | 4.5 |
90-100 | bdb | 5.0 |
|
Tematy projektów wybrane przez zespoły |
Semestr letni 2024/2025
- Grupa lab. 3 (poniedziałek godz. 15:00)
- KD+AK: nr 9 - równanie Poissona (rozkład temp.)
- MF+SzK: nr 8 - szybka transformata Fouriera FFT
- FK+MK: nr 23 - alg. poszukiwań w głąb (8-puzzle)
- KJ+JP: nr 7 - sortowanie PSRS
- MK+JK: nr 12 - algorytm Bellmana-Forda
- Grupa lab. 2 (poniedziałek godz. 16:45)
- AN+AŚ: nr 6 - mnożenie macierzy alg. Cannona
- DK+BK: nr 21 - alg. Prima (drzewo rozpinające)
- W.Sz: nr 25 - klasyfikowanie dokumentów
- AB+BG: nr 22 - algorytm Dijkstry
- JS+MS: nr 8 - szybka transformata Fouriera FFT
- FD+KK: nr 12 - algorytm Bellmana-Forda
- Grupa lab. 1 (czwartek godz. 16:45)
- PŁ+WW: nr 6 - mnożenie macierzy alg. Cannona
- JK+BS: nr 8 - szybka transformata Fouriera FFT
- JG+MO: nr 22 - algorytm Dijkstry
- AK+PM: nr 5 - Monte Carlo - rondo z n wjazdami
- JK: nr 15 - układ r. liniowych - dekompozycja LU
- GG+ZS: nr 21 - alg. Prima (drzewo rozpinające)
- Grupa lab. 4 (piątek godz. 10:30)
- MD+KC: nr 6 - mnożenie macierzy alg. Cannona
- GB+AR: nr 2 - MC rozkład temperatury 2-D
- DC+MP: nr 11 - minimum f(x̅) - algorytm Jacob'iego
- MW+JZ: nr 8 - szybka transformata Fouriera FFT
- MS: nr 10 - minimum f(x̅) - algorytm Torczona
- JB+MS: nr 7 - sortowanie PSRS
|
Proponowane tematy w/w projektów do wyboru |
2025
- Monte Carlo - transport neutronów (Quinn, zad. 10.8)
- Monte Carlo - rozkład temperatury w 2-D. (Quinn, zad. 10.9)
- Monte Carlo - Model Isinga w 2-D. (Quinn, zad. 10.10)
- Monte Carlo - Przydział pokoi metodą simulated annealing. (Quinn,
zad. 10.11)
- Monte Carlo - Ruch na rondzie. (Quinn, 10.13)
- Mnożenie macierzy - algorytm Cannon'a. (Quinn, zad. 11.6)
- Sortowanie PSRS (Parallel Sorting by Regular Sampling). (Quinn,
zad. 14.8 a. )
- Szybka transformata Fouriera FFT. (Quinn, zad. 15.5, Grama, Gupta, rozdz. 13)
- Równania różniczkowe cząstkowe (PDE) - rozkład temperatury na
płycie w stanie ustalonym - równanie Poissona. (Quinn, zad. 13.5)
- Poszukiwanie minimum f(x̅) - Metoda sympleksu nieliniowego -
algorytm Torczona. (Karbowski, rozdz. 8.3.2)
- Poszukiwanie minimum f(x̅) - Dekompozycja zadań optymalizacji -
algorytm Jacobiego. (Karbowski, rozdz. 8.4.1)
- Routing w sieciach komputerowych - algorytm Bellmana-Forda.
(Karbowski, rozdz. 9.1.3.1)
- Poszukiwanie minimum f(x̅) - Optymalizacja bez ograniczeń metodą
największego spadku. (Karbowski, rozdz. 9.1.2.3)
- Algorytmy chaotyczne (asynchroniczne) - Układy równań liniowych.
(Karbowski, rozdz. 9.1.2.1)
- Układ równań liniowych - dekompozycja LU. (Ortega, 2.2)
- Układ równań liniowych - redukcja ortogonalna QR - transformacje
Householdera. (Ortega, 2.2)
- Układ równań liniowych - dekompozycja Cholesky'ego. (Ortega, 2.2)
- Algorytm Floyda - znajdowanie najkrótszej ścieżki w grafie
zorientowanym z wagami. (Quinn, rozdz. 6.4).
- Znajdowanie cieni za wzgórzami na bazie algorytmu Floyda. (Quinn,
zad. 6.12 a.)
- Generowanie zbioru Mandelbrota - program typu Manager - Workers
(Quinn, zad. 9.9)
- Minimalne drzewo rozpinające - algorytm Prim'a (Grama, Gupta, par. 10.2)
- Drzewa wszystkich najkrótszych ścieżek - algorytm Dijkstra'y (Grama, Gupta, par. 10.3)
- Algorytm poszukiwań w głąb (depth-first) - The 8-puzzle problem - (Grama, Gupta, par. 11.2)
- Problem oddziaływań wielu ciał (The n-body problem) - Symulacja układu planetarnego (Quinn, par. 3.6)
- Klasyfikowanie dokumentów - program typu Manager - Workers (Quinn, par. 9.2)
- Równoległy algorytm genetyczny - np. projektowanie planu zajęć (A Parallel Genetic Algorithm for Solving the School Timetabling Problem , Parallelisation of Genetic Algorithms for Solving University Timetabling Problems , Parallelisation of Genetic Algorithms for Solving University Timetabling Problems )
- Rozproszone rozwiązanie problemu komiwojażera (travelling salesman problem) - kolonia mrówek (ant colony) (distributed algorithm for the solution of TSPs by ant colonies ,
Algorytm mrówkowy jako metoda rozwiązania problemu komiwojażera ,
Optymalizacja kolonii mrówek ,
A Parallel Implementation of Ant Colony Optimisation ... applied to the TSP ,
Parallel Implementation of an Ant Colony Optimization ... with OpenMP )
(Generatory liczb pseudolosowych - Biblioteka SPRNG 5
http://sprng.cs.fsu.edu/ )
|
|