Wydajność oprogramowania
Prowadzący
- Dr hab. inż. Krzysztof Banaś, prof. AGH
Informacje, ogłoszenia
Konsultacje
Egzamin
Pytania egzaminacyjne:
2024
Zadania obliczeniowe: 2024
Link do arkusza z harmonogramem egzaminu do samodzielnego wypełniania - przesłany mailem
Materiały dydaktyczne
Wykłady
-
W01 (11.03):
Wprowadzenie
, W01.mp4
-
W02 (11.03):
Architektury procesorów, cz.1
, W02.mp4
-
W03 (18.03):
Architektury procesorów, cz.2
, W03.mp4
-
W04 (25.03):
Układ pamięci, cz.1
, W04.mp4
-
W05 (25.03):
Układ pamięci, cz.2
, W05.mp4
-
W08 (1.04):
Optymalizacja ręczna
, W08.mp4
-
W09 (8.04):
Mnożenie macierzy
, W09.mp4
-
W11 (22.04):
Model "roofline"
, W11.mp4
-
W06 (29.04):
Wielowątkowość, cz.1
, W06.mp4
-
W07 (6.05):
Wielowąkowość, cz.2
, W07.mp4
-
W10 (6.05):
Optymalizacja obliczeń z pamiecią wspólną
-
W12 (13.05):
Wydajność przesyłania komunikatów
, W12.mp4
-
W13 (13.05):
Skalowalność
, W13.mp4
, slajdy dodatkowe pomocnicze
Skrypt:
Laboratoria
Podstawą sukcesu jest uważne czytanie instrukcji i dokładna realizacja poleceń, krok po kroku (wszelkie niejasności i uwagi należy zgłaszać prowadzącym)
-
L00:
Środowisko pracy
, gen_los.c
, gnuplot.tgz
-
L01 (W01 - 11.03):
Pomiary czasu wykonania
, time_measurements.tgz
, c_solver.tgz
- sprawozdanie 1
-
L02 (W02 - 11.03):
Przewidywanie skoków
, branch_prediction.tgz
- sprawozdanie 2
-
L03 (W03 - 18.03)):
Opóźnienie i przepustowość przetwarzania rozkazów
, latency_throughput_flops.tgz
, Intel manual
- sprawozdanie 3
-
L04:
Wykrywanie parametrów pamięci podręcznej
, cache_discovery.tgz
-
L05 (W04,W05 - 25.03)):
Opóźnienie i przepustowość pamięci
, mem_lat.tgz
- sprawozdanie 4
-
L08 (W08 - 1.04):
Ręczna optymalizacja
, mat_vec_optimization.tgz
- sprawozdanie 5
-
L09 (W09 - 8.04):
Mnożenie macierzy i cache blocking
, matrix_multiplication.tgz
, Anatomy of matrix multiplication
- sprawozdanie 6 (L09 i L10)
-
L10 (W09 - 15.04):
Analiza wydajności mnożenia macierzy
, matrix_multiplication_papi_gcc.tgz
- sprawozdanie 6 (L09 i L10)
-
L11 (W11 - 22.04):
Model "roofline"
, mat_vec_optimization_papi.tgz
- sprawozdanie 7
-
L06 (W06 - 29.04):
Przypisanie wątków do rdzeni
, latency_and_pinning.tgz
- sprawozdanie 8
-
L07 (W07 - 6.05):
Skalowalność dla pojedynczego serwera
, node_scalability.tgz
- sprawozdanie 9
-
L07_x (W07 - 6.05):
Fałszywe współdzielenie i rozpychanie tablic
, false_sharing.tgz
, array_padding.tgz
-
L12 (W13 - 13.05):
Skalowalność
, mat_mul_scalability_gcc.tgz
, mat_vec_scalability.tgz
- sprawozdanie 10
Informacje ogólne
Sylabus
Zasady zaliczenia:
- warunkiem zaliczenia jest ocena
pozytywna z laboratoriów i egzaminu, ocena końcowa - średnia ważona
(egzamin 2/3, laboratoria 1/3)
- egzamin składa się z części
pisemnej (test, pytania otwarte) oraz części ustnej
(w każdym z terminów egzaminu pewne części mogą zostać opuszczone dla wszystkich lub dla wybranych osób)
- warunkiem dopuszczenia do egzaminu
jest zaliczenie laboratoriów
- szczegółowe warunki zaliczenia określa sylabus przedmiotu
Kontakt: