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 (08.04):
Układ pamięci, cz.2
, W05.mp4
-
W08 (15.04):
Optymalizacja ręczna
, W08.mp4
-
W09 (22.04):
Mnożenie macierzy
, W09.mp4
-
W11 (22.04):
Model "roofline"
, W11.mp4
-
W06 (29.04):
Wielowątkowość, cz.1
, W06.mp4
-
W07 (06.05):
Wielowąkowość, cz.2
, W07.mp4
-
W10 (06.05):
Optymalizacja obliczeń z pamiecią wspólną
-
W12 (13.05):
Wydajność przesyłania komunikatów
, W12.mp4
-
W13 (20.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
-
L02 (W02 - 11.03):
Przewidywanie skoków
, branch_prediction.tgz
-
L03 (W03 - 18.03)):
Opóźnienie i przepustowość przetwarzania rozkazów
, latency_throughput_flops.tgz
-
L04 (W04 - 25.03)):
Wykrywanie parametrów pamięci podręcznej
, cache_discovery.tgz
-
L05 (W05 - 08.04)):
Opóźnienie i przepustowość pamięci
, mem_lat.tgz
-
L08 (W08 - 15.04):
Ręczna optymalizacja
, mat_vec_optimization.tgz
-
L09 (W09 - 22.04):
Mnożenie macierzy i cache blocking
, matrix_multiplication.tgz
, Anatomy of matrix multiplication
-
L10 (W09 - 22.04):
Analiza wydajności mnożenia macierzy
, matrix_multiplication_papi_gcc.tgz
-
L11 (W11 - 22.04):
Model "roofline"
, mat_vec_optimization_papi.tgz
-
L06 (W06 - 29.04):
Przypisanie wątków do rdzeni
, latency_and_pinning.tgz
-
L07 (W07 - 29.04):
Skalowalność dla pojedynczego serwera
, node_scalability.tgz
-
L07_x (W07 - 06.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
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: