Karta identyfikacyjna projektu ALMA
- Projekt trzyletni: 01.09.2011 – 30.08.2014
- Finansowanie z 7PR: 3,2 mln euro
- Koordynator: Juergen Becker (KIT)
- Koordynator techniczny: Nikos Voros (TMES)
Dlaczego potrzebujemy procesorów wielordzeniowych?
Do ~2005 procesor wzrost wydajności prowadzony przez
- Prędkość zegara
- Optymalizacja wykonania
- Pamięć podręczna
- Ściana zasilania
- Ściana ILP
Doprowadziło do wielordzeniowego przetwórcy Równoległość musi być wyeksponowane przez programista
Motywacja
Perspektywa użytkownika końcowego
- Eksploruj/rozwijaj algorytmy
- Używaj prostego, wygodnego języka
- Np. Matlab, Scilab, …
- Nie chcę się tym przejmować
- typy danych
- równoległość
- Wynik końcowy
- Wydajność
- Energooszczędny
- Opłacalne
- Szybki czas rozwoju
Perspektywa architektury docelowej
System wieloprocesorowy na chipie
- Rdzenie procesorów równoległych
- Model programowania równoległego
- Np. pwątki, MPI, OpenMP
- Równoległość z rdzeniami procesora
- Pojedyncza instrukcja Wiele danych
- Bardzo długie słowo instrukcji
- Natywne typy danych
- Np. 32-bitowa liczba całkowita
- Inne typy danych działają nieskuteczny
ALMA w pigułce
Ukryj złożoność podstawowego sprzętu przed użytkownikiem końcowym
- ALMA opracuje podejście do kompilowania kodu Scilab z adnotacjami do architektur MPSoC
- Algorytmy i narzędzia do
- Wysokopoziomowa, niezależna od platformy szacowanie i optymalizacja wydajności kodu aplikacji
- Identyfikacja możliwych partycji i ich rozmieszczenie na różnych zasobach bazowych architektur
- Wiązanie typów danych i równoległość danych w celu wykorzystania równoległości na poziomie danych
- Opracuj ujednoliconą platformę symulacji SystemC, aby zapewnić środowisko do symulacji MPSoC
- Dwie najnowocześniejsze architektury dostarczone przez RECORE i KIT
- Wynik netto: mniejszy czas/wysiłek tworzenia aplikacji i szybszy czas wprowadzania na rynek
Cele
- Rozszerz Scilab o optymalizację w modelach systemów wysokiego poziomu
- Opracuj środowisko do zrównoleglania i optymalizacji
- Zatrudniaj i rozszerzaj dwie różne architektury
- Równoległe generowanie kodu
- Symulacja kodu równoległego