OWW_L05_pomiar_wydaj..

Transkrypt

OWW_L05_pomiar_wydaj..
Obliczenia wysokiej wydajności
Laboratorium:
Pomiar wydajności procesora i układu pamięć­procesor
Cel: ●
wykonanie pomiaru wydajności procesora i układu pamięć­procesor za pomocą testów LINPACK i STREAM
Zadania:
1. Utworzenie katalogu roboczego (np. lab_pom_wyd).
2. Skopiowanie do katalogu roboczego plików: linpack.tgz, stream.tgz
3. Rozpakowanie plików (najlepiej w dwóch różnych podkatalogach)
4. Uzyskanie informacji o teoretycznej wydajności procesora (MFLOPS – częstotliwość x drożność) i układu pamięć procesor (MB/s – magistrala, pamięć – częstotliwość x szerokość x drożność ) (np. z pliku /proc/cpuinfo, na jego podstawie z Internetu)
5. Uruchomienie testu STREAM i przeprowadzenie pomiaru wydajności – uwaga na obliczenie wyniku w teście STREAM, tzn. obliczenie liczby bajtów przesyłanych z pamięci do procesora
a) wersja podstawowa – pomiar dla rozmiaru tablicy 10000000 – wynik liczbowy
b) wersja rozszerzona – pomiary dla różnych rozmiarów w zakresie 10000­10000000, wyniki na wykresie (oś
x – rozmiar (skala może być logarytmiczna), oś y – czas) 6. Porównanie osiągniętych rezultatów z oszacowaniami teoretycznymi – czasem dostępu do pamięci przeliczonym na przepustowość i przepustowością układu pamięć­procesor (magistrala)
7. Uruchomienie testu LINPACK – uwaga na całość wydruku z LINPACKA: metodologię pomiaru (powtarzanie
obliczeń, użycie dwóch rozmiarów tablicy – array padding, dokładność rozwiązania układu równań), obliczanie wyniku w MFLOPS
8. Przeprowadzenie pomiaru wydajności dla rozmiaru 1000 (z opcjami DP i SP, oraz UNROLL i ROLL)
a) wersja rozszerzona – rozważenie różnych kompilatorów (gcc, icc) i różnych opcji kompilatora (­O2, ­O3, ­fast, ­funroll­all­loops, wektoryzacja itp)
9. Przeprowadzenie pomiaru wydajności dla rozmiaru 100 (z opcjami DP i SP, oraz UNROLL i ROLL)
a) wersja rozszerzona – rozważenie różnych kompilatorów (gcc, icc) i różnych opcji kompilatora (­O2, ­O3, ­fast, ­funroll­all­loops, wektoryzacja itp)
10.Utworzenie tabel z wynikami – wydajność w GFLOPS dla różnych przypadków
11.Porównanie wyników testów i oszacowań teoretycznych
12.Wersja rozszerzona: a) przeprowadzenie serii kilkunastu pomiarów dla rozmiarów od 100 do 5000
b) zaznaczenie wyników pomiaru na wykresie (MFLOPS w zależności od rozmiaru zadania)
13. Przeprowadzenie testu dołączonym programem wykorzystującym zoptymalizowaną bibliotekę algebry liniowej – porównanie wydajności z osiągniętymi wcześniej i z teoretycznymi
Warunki zaliczenia:
1. Obecność na zajęciach i wykonanie co najmniej wersji podstawowej zadań
2. Oddanie sprawozdania z krótkim odręcznym opisem zadania i wynikami. Prezentacja wyników powinna zawierać:
1. Dane o sprzęcie i oprogramowaniu użytym do testowania (procesor, zegar, chipset/płyta główna (taktowanie magistrali), pamięć podręczna, pamięć (typ, rozmiar), system operacyjny, kompilator, opcje kompilatora). Wzorem dla prezentacji mogą być raporty SPEC (www.spec.org/cpu2000/results)
2. Wyniki testów 3. Analizę wyników i własne wnioski (co i w jaki sposób wpływa na wydajność – np. na podstawie opcji LINPACKA, opcji kompilatora użytych do testów, wpływu rozmiaru danych na wydajność itp.)