System obliczeniowy laboratorium.7. oraz przykładowe wyniki efektywności mnożenia macierzy opracował: Rafał Walkowiak Materiały dla studentów informatyki studia niestacjonarne październik 1
SYSTEMY DLA LABORATORIUM Komputery znajdujące się w Laboratorium Systemów Równoległych sala.7. posiadają po jednym procesorze AMD typu PHENOM II X 95 System składa się z procesorów logicznych rdzeni w ramach jednego procesora. System SMP. PHENOM II X 95
PROCESOR PHENOM Zgodność 3 bitowa X IA wspomaganie SSE, SSE, SSE3, SSEa, ABM, MMX, 3DNow! Technologia AMD rozszerzenia AMD technology instruction-set Adresowanie -bitowe 1 rejestrów -bit dla integer 1 rejestrów 1-bit SSE/SSE/SSE3/SSEa Architektura wielordzeniowa opcje: Triple-core, quad-core lub sixcore AMD Balanced Smart Cache oddzielne pp L1 i L dla każdego rdzenia współdzielona L3 Struktura procesora superskalarny 3 drożny (dekodowanie, wykonanie integer i FP, generacja adresu) 3 PHENOM II X 95 Struktura pp -Kbyte drożna dzielona asocjacyjna pp danych L1 dwa dostępy -bit na cykl, 3 cyklowe opóźnienie -Kbyte drożna dzielona asocjacyjna pp kodu L1 3 bajtowe pobrania 51-Kbyte 1 drożna dzielona asocjacyjna pp L Zarządzanie pamięcią na zasadzie wyłączności przechowywania danych L1 i L -Mbyte Maximum, maksymalnie drożna dzielona asocjacyjna pp L3 współdzielona Technologia 5 nm Złącze HyperTransport Procesor zintegrowany ze sterownikiem pamięci
PROCESOR PHENOM PP KODU L1 Układ dynamicznego wykonania instrukcji posiada KB pp kodu L1 Dane w przypadku braku trafienia są pobierane do pp kodu L1 z L, z L3 lub z pamięci systemowej w ilości bajtów (pobranie) oraz kolejne bajty (wstępne pobranie), po pobraniu realizowane jest wstępne dekodowanie instrukcji dla określenia granic między instrukcjami (zmiennej długości), usuwanie linii z pp jest realizowane zgodnie z algorytmem LRU (ang. least recently used) PHENOM II X 95
PROCESOR PHENOM PP DANYCH L1 kb dwu-sekcyjna, dwa porty 1 bitowe Strategia zapisu: Write-allocate cache zapis realizowany do pp (przeciwna strategia do nowrite alllocation) Writeback cache zapis poza pp realizowany w przypadku braku miejsca lub na skutek zlecenia zapisu stanu w pamięci głównej Algorytm LRU dla usuwania danych i protokół zapewnienia spójności MOESI 5 PHENOM II X 95
PROCESOR PHENOM PP L I L3 PP L - victim i copy-back cache zapisuje dane usunięte z pp L1, dane w pp są w trybie wyłącznym w L1 lub w L PP L3 victim i copy-back cache dla pp L, głównie non-inclusive cache w przypadku, gdy dane żądane są przez jeden z rdzeni i jest mało prawdopodobne, że będą potrzebne innym, lecz możliwe powielenie. PHENOM II X 95
Uwagi do wyników obliczeń Przyspieszenie to iloraz czasu obliczeń sekwencyjnych najlepszą z wykorzystywanych metod i czasu obliczeń równoległych badaną metodą. Skrócenie czasu obliczeń to iloraz czasu obliczeń sekwencyjnych i równoległych tą samą metodą. Obliczenia równoległe wykorzystują wszystkie procesory systemu, liczba wątków jest równa liczbie procesorów, zastosowano optymalizację kodu (Windows wersja Release, Linux O3) Tworzenie wątków odbywa się przed pętlami. Miejsce podziału pracy określa położenie dyrektywy #pragma omp for. W przypadku kodu z niebezpieczeństwem wyścigu umieszczono dyrektywę #pragma omp atomic lub zastosowano zmienną lokalną, gdy wątki równocześnie wyznaczały jeden wynik tablicy wyjściowej. 7
wielkość 1 1 Przyspieszenie i skrócenie czasu obliczeń równoległych dla mnożenia macierzy 1x1 Intel Core i5 MB 1x1 AMD PHENOM II X 95 MB Wielkość 1 1 1 wielkość x Intel Core i5 MB 3,5 3,5 1,5 1,5 wielkość 9 7 5 3 1 x AMD PHENOM II X 95 MB
Prędkość obliczeń równoległych i sekwencyjnych dla mnożenia macierzy GFlops GFlops 3 5 15 1 5 1x1 Intel Core i5 MB 1 1 1 x Intel Core i5 MB GFlops 1 1 1 1 1 GFlops 7 5 3 1 1x1 AMD PHENOM II X 95 MB x AMD PHENOM II X 95 MB 9
3 Prędkość obliczeń równoległych dla mnożenia macierzy 1x1 Intel Core i5 MB 5 lops GFl 15 prędkość obliczeń równoległych prędkość obliczeń sekwencyjnych 1 5 1
1 Przyspieszenie obliczeń równoległych dla mnożenia macierzy 1x1 Intel Core i5 MB 1 wielkość skrócenie czasu obliczeń przyspieszenie 11
1 Prędkość mnożenia macierzy x Intel Core i5 MB 1 1 GFlops prędkość obliczeń równoległych prędkość obliczeń sekwencyjnych 1
Przyspieszenie obliczeń równoległych dla mnożenia macierzy x Intel Core i5 MB 3,5 3,5 wielk kość 1,5 skrócenie czasu obliczeń przyspieszenie 1,5 13
Prędkość obliczeń równoległych dla mnożenia macierzy 1x1 AMD PHENOM II X 95 MB 1 1 Tmin=,11 s Tmax=3 s 1 GFlops 1 1 prędkość obliczeń równoległych prędkość obliczeń sekwencyjnych 1
1 Przyspieszenie obliczeń dla mnożenia macierzy 1x1 AMD PHENOM II X 95 MB 1 1 Wielk kość skrócenie czasu obliczeń przyspieszenie 15
Prędkość obliczeń równoległych dla mnożenia macierzy x AMD PHENOM II X 95 MB 7 5 GFl lops 3 Prędkość obliczeń równoległych prędkość obliczeń sekwencyjnych 1 1
9 Przyspieszenie dla mnożenia macierzy x AMD PHENOM II X 95 MB 7 wie elkość 5 Skrócenie czasu obliczeń przyspieszenie 3 1 17
Prędkość obliczeń równoległych dla mnożenia macierzy 1x1 Intel Core i5 MB fijk Czas obliczen:,115 sec predkosc 17,377 Gflops ifjk Czas obliczen:,19 sec predkosc,7711 Gflops ijfk Czas obliczen:,3 sec predkosc 3,15 Gflops fikj Czas obliczen:,75 sec predkosc,39 Gflops ifkj Czas obliczen: 7,9 sec predkosc,71 Gflops ikfj Czas obliczen:,5 sec predkosc,715 Gflops fjik Czas obliczen:,1 sec predkosc,71 Gflops jfik Czas obliczen:,17 sec predkosc,79 Gflops jifk Czas obliczen:,33 sec predkosc 3,159 Gflops fjki Czas obliczen:,19 sec predkosc,9115 Gflops jfki Czas obliczen: 3,19 sec predkosc,555 Gflops jkfi Czas obliczen:,1 sec predkosc,55 Gflops fkij Czas obliczen:,73 sec predkosc,93 Gflops kfij Czas obliczen:,197 sec predkosc 1,77 Gflops kifj Czas obliczen:,75 sec predkosc,57 Gflops fkji Czas obliczen: 3,335 sec predkosc,5991 Gflops kfji Czas obliczen:,1 sec predkosc,9 Gflops kjfi Czas obliczen:,5 sec predkosc,335 Gflops 1