1 / 87

Akceleracja obliczeń metodami sprzętowymi

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.

ivie
Download Presentation

Akceleracja obliczeń metodami sprzętowymi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kazimierz Wiatr Akademickie Centrum Komputerowe CYFRONET AGH email: k.wiatr@cyfronet.krakow.pl Akceleracja obliczeń metodami sprzętowymi

  2. Dzisiejsze wymagania wobec komputerów • szybkość !!!! • cena • wielkość • niezawodność

  3. Szybkość komputerów • wczoraj • dziś • jutro

  4. Metody zwiększania szybkości pracy komputerów • szybszy zegar • optymalizacja kodu • wiele procesorów • architektura wewnętrzna • sprawne otoczenie procesora

  5. Rodzaje komputerów • komputery osobiste • superkomuptery • architektury specjalizowane

  6. 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

  7. 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

  8. 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

  9. Akceleracja obliczeń w systemie wieloprocesorowym

  10. 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.

  11. Sprzętowa akceleracja obliczeń • wielkie ilości przetwarzanych danych • bardzo szybkie systemy obliczeniowe • algorytmy zdominowane przez dane • algorytmy zdominowane przez instrukcje

  12. 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

  13. 2. Systemy wizyjne czasu rzeczywistegoa. bardzo szybkie, b. bardzo dużo danych

  14. Poziomy przetwarzania i analizy obrazów w czasie rzeczywistym

  15. 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

  16. Ramię robota - obraz źródłowy

  17. Efekt działania operacji look-up-table

  18. Obraz po operacji binaryzacji

  19. Efekt detekcji krawędzi

  20. 3. Architektura systemu a szybkość obliczeń gdzie: • tobl_d - czas związany z obliczeniami • ttr_d - czas związany z transmisją danych

  21. 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

  22. 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

  23. 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

  24. 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

  25. Architektura procesora specjalizowanego pozbawiona przesyłania i dekodowania rozkazów

  26. Architektura systemu z procesorami specjalizowanymi

  27. Architektura MISD specjalizowanych procesorów sprzętowych

  28. Czas realizacji obliczeń w architekturze MISD procesorów sprzętowych gdzie: • tobl_d - czas związany z obliczeniami • a - liczba operacji wstępnego przetwarzania

  29. Schemat blokowy architektury potokowej DePiAr

  30. Moduł z architekturą potokową DePiAr

  31. 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

  32. 4. Specjalizowane procesory sprzętowe Schemat blokowy procesora logicznego

  33. Procesor konwolucji

  34. Procesor morfologiczny

  35. Procesor medianowy

  36. Opóźnienia w procesorze potokowym

  37. 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

  38. 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

  39. 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

  40. 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

  41. 5. Implementacja w układach FPGA

  42. Struktura bloku CLB w układach XC4000

  43. Połączenia w układach FPGA

  44. 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)

  45. 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

  46. 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

  47. DKCM LM + AND

  48. 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:

  49. 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

  50. Logika Logika Nowa częściowa konfiguracja Pamięć konfiguracyjna przed rekonfiguracją Pamięć konfiguracyjna po rekonfiguracji Rekonfiguracja częściowa

More Related