Piotr Gronek's Home Page
    Piotr Gronek's  Home Page
1
2
3
4
5
6
7
8
9
10
11
12

Valid XHTML 1.1! Valid CSS!

[teacher]   Terminy i tematyka wykładów





1. Projektowanie algorytmów równoległych    powrot

Tematyka wykładu:

  • Pojęcia podstawowe
  • Przykłady zastosowań
  • Modele programowania równoległego
  • Model zadanie-kanał
  • Model przekazywania komunikatów
  • Model równoległości danych
  • Model współdzielonej pamięci
  • Metodologia PCAM
  • Rodzaje dekompozycji
  • Schematy komunikacyjne
  • Efekty powierzchni do objętości
  • Algorytmy równoważenia obciążeń
  • Algorytmy kolejkowania zadań


2. Miary efektywności zrównoleglenia | Klasyfikacja systemów równoległych    powrot

Tematyka wykładu:

  • Współczynnik przyspieszenia
  • Efekt zrównoleglenia
  • Prawo Amdahla
  • Wydajność
  • Skalowalność i sprawność
  • Trendy rynku systemów przetwarzania równoległego
  • Klasyfikacja systemów równoległych
  • Taksonomia Flynn'a
  • Architektury pamięci
  • Topologie systemów równoległych
  • Rozwiązania programowe


3. Programowanie równoległe w systemach z pamięcią współdzieloną (SM)    powrot

Tematyka wykładu:

  • Elementy programowania równoległego
  • Paradygmaty programowania
  • Elementy programowania specyficzne dla systemów SM, DM i klasterów
  • Narzędzia programowania w systemach z pamięcią współdzieloną (SM)
  • Tworzenie i likwidacja procesów
  • Operacje na uchwytach
  • Tworzenie i likwidacja wątków
  • Zmienne lokalne wątku
  • Wspólna pamięć
  • Potoki anonimowe
  • Potoki nazwane
  • Kolejki komunikatów
  • Semafory
  • Mechanizmy synchronizacji między wątkami jednego procesu
  • Obiekty typu mutex (zamki)
  • Przykładowe zadanie obliczeniowe - IPC i wątki


4. Dyrektywy zrównoleglające kompilatorów dla maszyn SM    powrot

Tematyka wykładu:

  • Standard OpenMP
  • Blok zrównoleglany
  • Deklaracje
  • Rozdzielenie pętli
  • Bloki równoległe
  • Lokalna jednowątkowość
  • Zamek
  • Bariera
  • Biblioteka procedur OpenMP


5. Dyrektywy OpenMP, Cray, biblioteka PSL    powrot

Tematyka wykładu:

  • Zadania OpenMP
  • Przykłady zastosowań OpenMP
  • Błędy wykonania OpenMP i sposoby ich omijania
  • Dyrektywy kompilatora Cray Fortran 90
  • Biblioteka PSL do realizacji obliczeń wielowątkowych


6. Programowanie systemów z pamięcią rozproszoną (DM) | Messsage Passing Interface (MPI)    powrot

Tematyka wykładu:

  • Mechanizm gniazdek
  • Tworzenie gniazdek
  • Przesyłanie bezpołączeniowe
  • Komunikacja połączeniowa
  • Obsługa wielu gniazdek jednocześnie
  • Interfejs MPI
  • Wywołania funkcji MPI
  • Rozszerzenia MPI
  • Dynamiczne tworzenie procesów
  • Operacje na grupach procesów
  • Operacje na komunikatorach
  • Przesyłanie komunikatów
  • Tryby komunikacji MPI


7. MPI - typy pochodne    powrot

Tematyka wykładu:

  • Przykłady komunikacji
  • Typy pochodne
  • Mapowanie typów
  • Funkcje pomocnicze
  • Ustanowienie i zwolnienie typu
  • Pakowanie danych
  • Rozpakowywanie danych


8. MPI - komunikacja kolektywna, topologie wirtualne    powrot

Tematyka wykładu:

  • Komunikacja kolektywna
  • Operacje na komunikatorach
  • Rodzaje operacji kolektywnych
  • Redukcja
  • Operacje zdefiniowane przez użytkownika
  • Topologie wirtualne
  • Przykład zastosowania
  • Przykład użycia MPI


9. CUDA (1) - Compute Unified Device Architecture    powrot

Tematyka wykładu:

  • Akceleratory obliczeniowe
  • Środowiska programowe dla GPGPU
  • Model programowy CUDA
  • Architektura GPGPU NVidia
  • Zarządzanie pamięcią GPGPU


10. CUDA (2). Akceleratory obliczeniowe - OpenMP 4+    powrot

Tematyka wykładu:

  • Przesyłanie danych CPU - GPU
  • Kompilacja programu C CUDA
  • Kernele - wykonanie kodu na GPU
  • Integracja komunikacji MPI i GPU
  • Architektura akceleratora Intel Xeon Phi
  • Dyrektywy kompilatora obsługujące akceleratory - standard OpenMP 4.0


11. PGAS - Rozszerzenia języków programowania dla DM (1)    powrot

Tematyka wykładu:

  • Języki Partitioned Global Address Space (PGAS)
  • Unified Parallel C
  • Rozproszona pamięć współdzielona
  • Dystrybucja danych
  • Podział iteracji między wątki
  • Wskaźniki na dane współdzielone
  • Alokacja danych w pamięci współdzielonej
  • Operacje kolektywne
  • Projekt UPC++
  • Obiektowy model współdzielenia danych
  • Asynchroniczne operacje komunikacyjne
  • Zdalne wykonywanie procedur i postęp aplikacji


12. PGAS - Rozszerzenia języków programowania dla DM (2)    powrot

Tematyka wykładu:

  • Rozwiązania klasy Partitioned Global Address Space (PGAS)
  • Środowisko GPI-2/GASPI
  • Zdalny dostęp do segmentów pamięci
  • Asynchroniczna komunikacja jednostronna
  • Środowisko XcalableMP
  • Dystrybucja danych i obliczeń w globalnym widoku pamięci XMP
  • Komunikacja w lokalnym widoku pamięci XMP


13. PCJ | Java Remote Method Invocation + Native Interface    powrot

Tematyka wykładu:

  • Parallel Computing in Java (PCJ) - biblioteka komunikacyjna dla PGAS
  • Współdzielenie zmiennych między zadaniami w środwisku PCJ
  • Przegląd operacji komunikacyjnych dostępnych w PCJ
  • Struktura oprogramowania rozproszonego
  • Model klient - serwer
  • Ograniczenia przesyłania parametrów
  • Repozytorium serwerów
  • Serwisy
  • Schemat komunikacji Java RMI
  • Ograniczenia RMI
  • Interfejs RMI
  • Menedżer obiektów
  • Własności interfejsu Remote i mechanizm serializacji
  • Java Native Interface
  • Schemat tworzenia aplikacji RMI/JNI
  • Generacja szkieletu RMI i nagłówków JNI
  • Inne właściwości RMI


14. CORBA - Common Object Request Broker Architecture    powrot

Tematyka wykładu:

  • Model referencyjny CORBA
  • Interfejs CORBA
  • Język IDL
  • Typy IDL
  • Definicje operacji
  • Operacje wykonywane przez referencje
  • Portable Object Adapter
  • Cykl realizacji żądania w POA
  • Implementacje Corby
  • Odwzorowanie interfejsu IDL co C++
  • Odwzorowanie interfejsu IDL do Javy
  • Wybrane serwisy CORBA
  • Schemat tworzenia aplikacji CORBA
  • Przykład - usługa Name Service


15. MPI - rozszerzenia specyfikacji 2-4    powrot

Tematyka wykładu:

  • Zarządzanie środowiskiem MPI
  • Komunikacja jednostronna RMA
  • Równoległe operacje we/wy
  • Przetwarzanie wielowątkowe
  • Łączenie oddzielnych programów
  • Interfejs programistyczny C / Fortran 90


line
Ostatnia modyfikacja: niedawno