Wytyczne projektowe ALMA dla systemów wielordzeniowych (wersja ostateczna)

Przedmowa

Ten dokument jest zbiorem wytycznych dla użytkowników końcowych dla łańcucha narzędzi ALMA. ten Przedstawiona zostanie perspektywa użytkownika dla większości części komponentów przepływu narzędzi ALMA. Zapewnia porady   optymalnego wykorzystania łańcucha narzędzi ALMA w celu szybszego tworzenia aplikacje w systemach wieloprocesorowych i wielordzeniowych.

Abstrakcyjny

Głównym produktem projektu ALMA jest łańcuch narzędzi ALMA, który jest kompleksowym narzędziem
łańcuch od reprezentacji programu wysokiego poziomu bezpośrednio do wbudowanego Multiprocesora Platformy System-on-Chip (MPSoC). Łańcuch narzędzi ALMA nie jest dostosowany do konkretnego platformy, ale raczej abstrahuje podstawową równoległą architekturę sprzętową przez wprowadzenie Języka Opisu Architektury. Różne kody pośrednie optymalizacje reprezentacji, w tym analiza i sterowanie wielościenne oraz przepływ danych wprowadzono optymalizację grafów, zanim kod równoległy zostanie przedstawiony narzędzia specyficzne dla platformy. Ten dokument zawiera wskazówki dla użytkowników końcowych dotyczące: wydobywanie najlepszej wydajności z aplikacji tworzonych przy użyciu łańcucha narzędzi ALMA.

Wstęp

Niniejszy dokument przedstawia wytyczne specyficzne dla metodologii ALMA oraz sposób, w jaki Łańcuch narzędzi ALMA może być skutecznie wykorzystany do projektowania i rozwoju aplikacje dla wbudowanych systemów obliczeniowych opartych na architekturach wielordzeniowych. Łańcuch narzędzi ALMA otrzymuje specjalny dialekt oparty na Scilab i produkuje pliki binarne dla wyznaczonej platformy Multicore Parallel System-on-Chip (MPSoC). Poniższa sekcja przedstawia ogólny przegląd całej struktury ALMA; więcej informacji o frameworku ALMA można znaleźć w. Projekt Poniżej znajduje się metodologia specyficzna dla łańcucha narzędzi ALMA, która podsumowuje wytycznych przedstawionych w niniejszym dokumencie. Narzędzia front-endowe, język wprowadzania i W dalszej części przedstawiono optymalizacje kodu pośredniego. Wytyczne dla dwóch dużych silniki optymalizacji, silnik równoległości drobnoziarnistej i gruboziarnisty silnik równoległości, przedstawiono w kolejnych rozdziałach. Te sekcje dają
przegląd silników na poziomie użytkownika, a także porady dotyczące ich lepszej eksploatacji silniki. W dalszej części zaprezentowany zostanie wielordzeniowy symulator ALMA. Symulator uczestniczy w wewnętrznej pętli optymalizacji w celu poprawy wyników optymalizacji silnik i jest również dostępny dla użytkowników końcowych w celu porównania i profilowania ich Aplikacje. Poniżej znajduje się demonstracja wykorzystania komponentów ALMA. W załącznik do dokumentu, Podręcznik użytkownika ALMA Toolchain i Matrix Frontend User Przewodnik jest dostępny w celach informacyjnych.

Ray ALMA

Framework ALMA oferuje niezależny od platformy przepływ narzędzi z kodu wejściowego Scilab bezpośrednio do architektury Multiprocessor System-on-Chip (MPSoC). Scilab podzbiór językowy obsługiwany przez narzędzia ALMA jest opisany w D4.2. To również zawiera szczegółowy opis techniczny łańcucha narzędzi.