Oznaczenie sprawy: PN/1-12/WMFI Załącznik Nr 1 do SIWZ OPIS

advertisement
Oznaczenie sprawy: PN/1-12/WMFI
Załącznik Nr 1 do SIWZ
OPIS PRZEDMIOTU ZAMÓWIENIA:
Określenie przedmiotu zamówienia:
Przedmiotem zamówienia jest opracowanie materiałów i przeprowadzenie szkoleń z zakresu
programowania komputerów równoległych i wykorzystania komputerów dużej mocy w ramach
projektu „Programowa i strukturalna reforma systemu kształcenia na Wydziale Mat-Fiz-Inf”
współfinansowanego ze środków Unii Europejskiej w ramach Europejskiego Funduszu
Społecznego. (oznaczenie sprawy: PN/01-12/WMFI)
Część 1 - Przeprowadzenie szkolenia: „F# jako język funkcyjny i obiektowy - kurs
programowania” (30h)
Termin
25-26 luty, 10-11 marzec 2012,
Program ramowy
1. Paradygmat programowania funkcyjnego (1 godz.)
2. F# jako język programowania funkcyjnego (4 godz.)
3. Elementy programowania imperatywnego w F# (2 godz.)
4. Elementy programowania obiektowego w F# (4 godz.)
5. Zaawansowane techniki programowania w F# (4 godz.)
6. Wielowątkowość w programach f# (4 godz.)
7. Przykłady zastosowań symbolicznych (4 godz.)
8. Przykłady zastosowań numerycznych (3 godz.)
9. Dodatkowe narzędzia i techniki wspierające wydajne programowanie w F# (4 godz.)
Część 2 - Opracowanie materiałów do szkolenia: „F# jako język funkcyjny i obiektowy kurs programowania” (30h)
Termin
Do 11 marca 2012,
Program ramowy
1. Paradygmat programowania funkcyjnego (1 godz.)
2. F# jako język programowania funkcyjnego (4 godz.)
3. Elementy programowania imperatywnego w F# (2 godz.)
4. Elementy programowania obiektowego w F# (4 godz.)
5. Zaawansowane techniki programowania w F# (4 godz.)
6. Wielowątkowość w programach f# (4 godz.)
7. Przykłady zastosowań symbolicznych (4 godz.)
8. Przykłady zastosowań numerycznych (3 godz.)
9. Dodatkowe narzędzia i techniki wspierające wydajne programowanie w F# (4 godz.)
Materiały powinny zabezpieczyć przeprowadzenie 30 godzin szkolenia. Powinny one mieć
objętość minimum 50 stron A4 i zawierać część teoretyczną i przykłady w postaci kodów
programów.
Oznaczenie sprawy: PN/1-12/WMFI
Załącznik Nr 1 do SIWZ
Część 3 - Przeprowadzenie szkolenia: „Środowisko programisty obliczeń wielkiej skali”
(30h)
Termin
1 maj – 30 czerwiec 2012 (szkolenie odbędzie się trybie ciągłym - 4 dni pod rząd)
Program ramowy
1. Wprowadzenie do obliczeń równoległych.
2. Instalacja i konfiguracja systemu Ubuntu Server.
3. Kompilacja, instalacja i konfiguracja MPICH2.
4. Konfiguracja klastra obliczeniowego.
5. Proste testy klastra obliczeniowego.
6. Przedstawienie modelu wielkiej skali.
7. Przykładowe symulacje wielkiej skali.
8. Testy wydajnościowe zbudowanego klastra.
9. Projektowanie uruchamiania wielu symulacji.
10. Kolejkowanie procesów.
11. Kilka słów o gridach, klastry heterogeniczne.
12. Podsumowanie.
Część 4 - Opracowanie materiałów do szkolenia: „Środowisko programisty obliczeń wielkiej
skali” (30h)
Termin
Do 30 czerwca 2012
Program ramowy
1. Wprowadzenie do obliczeń równoległych.
2. Instalacja i konfiguracja systemu Ubuntu Server.
3. Kompilacja, instalacja i konfiguracja MPICH2.
4. Konfiguracja klastra obliczeniowego.
5. Proste testy klastra obliczeniowego.
6. Przedstawienie modelu wielkiej skali.
7. Przykładowe symulacje wielkiej skali.
8. Testy wydajnościowe zbudowanego klastra.
9. Projektowanie uruchamiania wielu symulacji.
10. Kolejkowanie procesów.
11. Kilka słów o gridach, klastry heterogeniczne.
12. Podsumowanie.
Materiały powinny zabezpieczyć przeprowadzenie 30 godzin szkolenia. Powinny one mieć
objętość 50 stron A4 i zawierać część teoretyczną i przykłady w postaci kodów programów.
Oznaczenie sprawy: PN/1-12/WMFI
Załącznik Nr 1 do SIWZ
Część 5 - Przeprowadzenie szkolenia: „Programowanie współbieżne, równoległe i
rozproszone w Pythonie” (30h)
Termin
1 marzec – 30 kwiecień 2012 (z wyjątkiem I i III weekendu marca)
Zakres szkolenia:
Kurs przeznaczony jest dla tych, którzy chcą zapoznać się z istniejącymi w języku Python
możliwościami i narzędziami (tak wbudowanymi jak i zewnętrznymi) pozwalającymi na
konstruowanie programów wielowątkowych (współbieżnych), równoległych (działających w
środowisku wieloprocesorowym) oraz rozproszonych (działających w różnych modelach w
sieci węzłów obliczeniowych).
Kurs przewiduje krótkie wprowadzenie do podstaw Pythona, a następnie zaprezentowanie
mechanizmów pozwalających na pracę współbieżną w Pythonie (jak wątki i procesy oraz
pamięć wspólna, synchronizacja, komunikacja, współprocedury), kontrolowanie
równoległości oraz pracę w środowisku rozproszonym (elementy programowania sieciowego,
obiekty rozproszone).
Zajęcia będą mieć formę wykładów ilustrowanych przykładami oraz warsztatów w
laboratorium komputerowym z dostępem do odpowiedniego sprzętu.
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.
Download