880 likes | 1.07k Views
Kazimierz Wiatr Akademickie Centrum Komputerowe CYFRONET AGH email: k.wiatr@cyfronet.krakow.pl. Akceleracja obliczeń metodami sprzętowymi. Dzisiejsze wymagania wobec komputerów. szybkość !!!! cena wielkość niezawodność. Szybkość komputerów. wczoraj dziś jutro.
E N D
Kazimierz Wiatr Akademickie Centrum Komputerowe CYFRONET AGH email: k.wiatr@cyfronet.krakow.pl Akceleracja obliczeń metodami sprzętowymi
Dzisiejsze wymagania wobec komputerów • szybkość !!!! • cena • wielkość • niezawodność
Szybkość komputerów • wczoraj • dziś • jutro
Metody zwiększania szybkości pracy komputerów • szybszy zegar • optymalizacja kodu • wiele procesorów • architektura wewnętrzna • sprawne otoczenie procesora
Rodzaje komputerów • komputery osobiste • superkomuptery • architektury specjalizowane
Sprzętowe metody akceleracji obliczeń • Akceleracja obliczeń • Systemy wizyjne • Wpływ architektury systemu na szybkość obliczeń • Specjalizowane procesory sprzętowe • Implementacja w układach FPGA • Parametryzacja implementacji • Rekonfigurowalne systemy obliczeniowe • Dedykowane użytkownikowi platformy CCM • Projektowanie Hardware/Software CoDesign • Wzrost potrzeb obliczeniowych
1. Akceleracja obliczeń • zbyt długie czasy obliczeń w procesorach GPP i DSP • poszukiwanie przyspieszenia-akceleracji obliczeń • ograniczenie rodzaju obliczeń i ich aplikacji • poszukiwanie nowych jakościowo metod szybkiej realizacji algorytmów S = tsys_klasycznego / tsys_specjalizowanego
Akceleracja obliczeń w systemach wieloprocesorowych Dla systemów wieloprocesorowych (Prawo Amdahl’a) S = (s + p) / (s + p/n) gdzie: s - czas algorytmu w części szeregowej programu p - czas algorytmu w części równolegległej
Potrzeby obliczeniowe (2004) • systemy on-line • systemy off-line • np. obliczenia symulacyjne DNA (Itanium2): • 20 atomów - 3 godziny • 200 atomów - 34 lata • np. medycyna z interakcją itp.
Sprzętowa akceleracja obliczeń • wielkie ilości przetwarzanych danych • bardzo szybkie systemy obliczeniowe • algorytmy zdominowane przez dane • algorytmy zdominowane przez instrukcje
Kierunki badawcze • poszukiwanie przyspieszenia obliczeń • ograniczenie rodzaju obliczeń i ich aplikacji • poszukiwanie nowych jakościowo metod szybkiej realizacji algorytmów • poszukiwania w 2 kierunkach: • specjalizowane elementy obliczeniowe - procesory • dedykowane połączenia tych elementów - architektura • prace badawcze oprzeć na realnych możliwościach implementacji w dostępnych technologiach
2. Systemy wizyjne czasu rzeczywistegoa. bardzo szybkie, b. bardzo dużo danych
Poziomy przetwarzania i analizy obrazów w czasie rzeczywistym
Operacje wstępnego przetwarzania obrazów • Operacje jednopunktowe: • operacja LUT • binaryzacja • operacje punktowe na dwu obrazach • obliczanie histogramu • Filtracje kontekstowe: • filtracja medianowa • filtracja logiczna • operacja splotu (konwolucji) • Operacje morfologiczne: • erozja i dylatacja • otwarcie i zamknięcie • inne operacje morfologiczne
3. Architektura systemu a szybkość obliczeń gdzie: • tobl_d - czas związany z obliczeniami • ttr_d - czas związany z transmisją danych
gdzie: • M - liczba pikseli (np. 512x512) • a - liczba operacji wstępnego przetwarzania • b - liczba operacji arytmetycznych związanych z obliczaniem nowej wartości piksela dla danej operacji • c - liczba transmisji danych (argumentów i wyniku) związanych z daną operacją dla jednego piksela
gdzie: • d - liczba transmisji (pobieranie kodów rozkazów i argumentów nie będących danymi wizyjnymi (np. adresy skoków) dla danej operacji • e - liczba rozkazów podlegających dekodowaniu dla danej operacji wstępnego przetwarzania
Liczba przesłań operandóww operacjach przetwarzania obrazów OPERACJA 1 PIKSEL 1 OBRAZ 1 SEKUNDA • LUT 1 262 144 6 553 600 • MEDIANA-5 5 1 510 720 37 768 000 • KONWOLUCJA 3x3 9 4 718 592 117 964 800
Liczba operacji w przetwarzaniu obrazów(w czasie 1 s) OPERACJA MNOŻENIA DODAWANIA PRZESŁANIA PORÓWNANIA • LUT 0 6 553 600 13 107 200 • MEDIANA-5 0 65 536 000 44 321 600 • MEDIANA-9 0 294 912 000 124 518 400 • KONWOLUCJA 3x3 117 964 800 4 718 592 124 518 400
Architektura procesora specjalizowanego pozbawiona przesyłania i dekodowania rozkazów
Czas realizacji obliczeń w architekturze MISD procesorów sprzętowych gdzie: • tobl_d - czas związany z obliczeniami • a - liczba operacji wstępnego przetwarzania
Architektura potokowa DePiAr • Zalety: • minimalizacja czasu transmisji • minimalizacja czasu obliczeń przez dedykowane procesory sprzętowe • procesory są autonomiczne: • elastyczna zmiana kolejności operacji • niezależne projektowanie procesorów • implementacja w dowolnym otoczeniu sprzętowym • dostęp do procesorów z zewnętrznej magistrali: • dynamiczna zmiana parametrów przetwarzania • dynamiczna rekonfiguracja kolejności operacji • Wymagania: • kolejnoliniowy sygnał wizyjny • szybka transmisja na wyjściu potoku • konieczność zachowania wymogów czasowych: • jednakowe opóźnienia dla danych i sygnałów sterujących • opóźnienie wielokrotnością czasu trwania piksela
4. Specjalizowane procesory sprzętowe Schemat blokowy procesora logicznego
Czasy realizacji operacji przetwarzania obrazówprzez procesory specjalizowane OPERACJA OPÓŹNIENIE • LUT - ROM 66 ns • LUT - RAM 132 ns • HISTOGRAM 66 ns • ODEJMOWANIE 132 ns • MEDIANA 5-PUNKTÓW 68 µs • MEDIANA 9-PUNKTÓW 68 µs • KONWOLUCJA 3x3 102 µs • DWUKIERUNKOWY GRADIENT SOBELA 102 µs
Czasy realizacji obliczeń przez system przetwarzania obrazów Przykład: algorytm wstępnego przetwarzania danych wizyjnych wymaga zastosowania procesorów potokowych: • look-up-table • liczenia histogramu • medianowego • procesora konwolucji • dwukierunkowego gradientu Sobela • odejmowania dwu obrazów
Zalety opracowanej architektury DePiArprocesorów specjalizowanych • Znacznie przyspiesza obliczenia wstępnego przetwarzania danych wizyjnych (akceleracja rzędu od 103 do 106) • LUT, histogram - czas 66 ns zamiast 180-300 ms • konwolucja 3x3 - czas 102 µs zamiast 51-2200 ms • Pozwala na realizację sprzężeń z innymi etapami przetwarzania obrazów i zmianę parametrów przetwarzania • Umożliwia zmianę kolejności realizowanych operacji implementowanych w uniwersalnym procesorze rekonfigurowalnym
Czasy realizacji operacji wizyjnych: DePiAr, DSP i GPP System Histogram Odejmowanie Konwolucja 3 3 Mediana LUT • DePiAr – 15 MHz 66,0 ns 132,0 ns 102,0 s 68,0 s 66,0 ns 198,0 ns 198,0 ns • TMS320C80 4,3 ms 5,4 ms 19,4 ms 10,7 ms – • Dedykowany modułPentium II – 466 MHz 4,0 ms 2,7 ms 6,8 ms – 3,0 ms • Akceleracja 60 000 20 000 34 000 54 000 45 000
Układy programowalne PLD RODZAJ FIRMA BRAMKI CLB I/O REJESTRY KONFIG. • Max5000 Altera 3.800 192 64 192 EPROM • Max7000 Altera 5.000 256 160 256 EEPROM • Flex8000 Altera 24.000 1296 204 1500 SRAM • ACT2 Actel 20.000 140 998 OTP • Mach400 AMD 10.000 256 146 384 ISP(EEPROM) • ATV5100 Atmel 5.000 60 128 EPROM • ATV6010 Atmel 10.000 6400 204 6400 EEPROM • XC4000 Xilinx 62.000 2304 384 5376 SRAM • XC8100 Xilinx 45.000 6144 320 3072 OTP • XC7300 Xilinx 144 156 276 EPROM • XC9500 Xilinx 12.800 576 232 576 ISP(EEPROM)
6. Parametryzacja implementacji w układach FPGA • parametryzacja szybkości pracy • parametryzacja użytych zasobów układu FPGA • automatyczna generacja kodu VHDL • optymalizacja implementacji struktur obliczeniowych DA
Dobór struktury elementów obliczeniowych • układy mnożące bezmnożne MM • układy mnożące LM z pamięcią LUT • układy ze stałym współczynnikiem KCM • układy ze zmiennym współczynnikiem VCM • układy z dynamiczną rekonfiguracją DKCM
Okres zegara dla MM, LM i Core Generator (Pipe – wersja z potokowością) wynik implementacji dla układu XC4000E-1, 8-bitowej danej bez znaku oraz losowo wybranych współczynników mnożenia: 41, 108, 132, 190, 225:
Licznik -synchronizacja Korekcja błędów Licznik -synchronizacja Korekcja błędów Układ transmisyjny Układ transmisyjny Weryfikacja CRC Weryfikacja CRC Filtr B Filtr A Przed rekonfiguracją Po rekonfiguracji 7. Rekonfigurowalne systemy obliczeniowe
Logika Logika Nowa częściowa konfiguracja Pamięć konfiguracyjna przed rekonfiguracją Pamięć konfiguracyjna po rekonfiguracji Rekonfiguracja częściowa