Zadanie 1 Temat Pakiety matematyczne - (30h) Termin luty/marzec 2011 Program ramowy 1.Wprowadzenie do pakietów matematycznych. 2.Obliczenia symboliczne a obliczenia numeryczne. Komputerowy system obliczeń symbolicznych (CAS). Przegląd programów typu CAS zarówno komercyjnych jak i darmowych. 3. Różnice i podobieństwa między nimi. 4. Wprowadzenie do Maximy. Linia poleceń. Pomoc i dokumentacja w Maximie. 5. Analiza matematyczna. 6. Przybliżanie numeryczne. 7. Rozwiązywanie równań i ich układów. 8. Rachunek macierzowy. 9. Rozwiązywanie równań różniczkowych. 10. Rysowanie wykresów. 11. Wykreślanie wykresów funkcji jednej i dwu zmiennych 12. Dopasowywanie krzywych do zadanego układu punktów na płaszczyźnie 13. Znajdowanie wektorów i wartości własnych Zadanie 2 Temat Modelowanie sieci neuronów biologicznych w równoległych symulacjach wielkiej skali– (30h) Termin marzec/kwiecień 2011 Program ramowy 1. Wprowadzenie do modelowania komórek nerwowych.. 2. Instalacja i konfiguracja środowiska GENESIS. 3. Zrównoleglenie środowiska GENESIS w systemie Linux. 4. Podstawowe polecenia i składnia GENESIS. 5. Modelowanie pojedynczych komórek nerwowych. 6. Modelowanie sieci komórek nerwowych. 7. Metody pobierania informacji i synchronicznego zapisu na dysku. 8. Metody zrównoleglania algorytmów GENESIS 9. Konstrukcja prostego modelu. 10. Równoległa symulacja modelu z różnymi parametrami konfiguracji. 11. Analiza wyników – benchmarking. 12. Wykorzystanie portalu NESSIE do projektowania modeli i symulacji. Zadanie 3 Temat Programowanie logiczne a zagadnienia sztucznej inteligencji i ich zastosowania – (30h) Termin Maj/czerwiec 2011 Program ramowy 1. Paradygmat programowania logicznego 2. PROLOG jako język programowania logicznego 3. Mechanizm obliczeń w programowaniu logicznym 4. Reprezentacja wiedzy w PROLOGu i systemy ekspertowe 5. Programy z własnością uczenia się 6. Programowanie z więzami i efektywne rozwiązywanie problemów 6. Gramatyki formalne i przetwarzanie języka w PROLOGu 7. Gry i strategie w programowaniu logicznym 8. Analiza wydajności programów w PROLOGu Zadanie 4 Temat Warsztaty programowania na klastrach komputerów wieloprocesorowych – (30h) Termin maj / czerwiec 2011 Program ramowy 1. Programowanie komputerów z pamięcią rozproszoną (klastrów) przy wykorzytaniu środowiska MPI Konstruowanie, kompilacja i uruchamianie programów w MPI Komunikacja typu punkt-punkt Komunikacja grupowa (kolektywna) Operacje redukcji Pomiar czasu wykonywania programów MPI Typy pochodne i topologie wirtualne 2. Programowanie komputerów wieloprocesorowych (wielordzeniowych) przy wykorzystaniu standardu OpenMP Dyrektywy, zmienne środowiskowe oraz funkcje OpenMP Specyfikacja równoległości obliczeń Konstrukcje podziału pracy w programach OpenMP Synchronizacja wątków Operacje redukcji Pomiar czasu wykonywania programów OpenMP 3. Konstruowanie programów równoległych przy jednoczesnym wykorzystaniu MPI oraz OpenMP 4. Przykłady algorytmów równoległych 5. Praktyczne ćwiczenia z wykorzystaniem MPI oraz OpenMP 6. System kolejkowania programów na klastrze 7. Konfiguracja środowiska MPI na klastrach komputerów wieloprocesorowych 8. Debugowanie programów równoległych Zadanie 5 Temat Programowanie współbieżne, równoległe i rozproszone w Pythonie - (30h) Termin wrzesień / październik 2011 Program ramowy 1. Python – niezbędne podstawy 2. Wielowątkowość w Pythonie (tworzenie i używanie wątków, synchronizacja, komunikacja, kolejki wątków). 3. Wielowątkowość a równoległość w Pythonie – GIL. 4. Wykorzystanie wielu procesorów w Pythonie – moduł multiprocessing 5. Wykorzystanie wielu procesorów w Pythonie – na poziomie systemowym (fork). 6. Biblioteki Pythona pozwalające na rzeczywistą równoległość. 7. Pythonowe obiekty w pamięci wspólnej zadań równoległych. 8. Elementy programowania rozproszonego (sieciowego) w Pythonie na poziomie systemowym. 9. Programowanie rozproszone (oraz równoległe) w Pythonie za pomocą obiektów rozproszonych. Zadanie 6 Temat Równoległy MATLAB dla komputerów wielordzeniowych i wielowęzłowych - (30h) Termin listopad / grudzień 2011 Program ramowy 1. Wprowadzenie do obliczeń numerycznych w MATLABie. 2. Interfejs graficzny MATLABa. Korzystanie z Pomocy. 3. Podstawy programowania w MATLABie. 4. Octave – czyli darmowy MATLAB. 5. Podstawowe konstrukcje w programowaniu równoległym. 6. Tworzenie i uruchamianie zadania równoległego. 7. Zrównoleglanie wykonania pętli. 8. Interaktywne obliczenie równoległe. 9. Dzielenie kodu. 10. Uruchamianie m-skryptów na komputerach wielordzeniowych lub wieloprocesorowych. 11. Programowanie rozproszone w MATLABie. 12. Uruchamianie zadań równoległych na klastrze obliczeniowym.