skrypt Flashcards

1
Q

Co to jest potokowość w kontekście architektury komputerów?

A

Mechanizm, w którym każdy etap wykonywania rozkazu jest realizowany przez oddzielny układ działający równolegle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Jakie są etapy przetwarzania rozkazu w klasycznym modelu von-Neumanna?

A

Pobranie rozkazu z pamięci, dekodowanie rozkazu, pobranie potrzebnych argumentów rozkazu, wykonanie rozkazu, umieszczenie wyniku w pamięci/rejestrze.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Czym jest branch prediction?

A

Wybieranie najbardziej prawdopodobnej gałęzi selekcji w przypadku zależności między rozkazami, np. instrukcje skoku warunkowego.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Na czym polega wektorowość w obliczeniach naukowych?

A

Zaprojektowano specjalne potoki do realizowania obliczeń na całych wektorach z mechanizmem łańcuchowania potoków.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Czym jest pamięć podręczna (cache memory)?

A

Niewielka, szybka pamięć między procesorem a pamięcią operacyjną, charakteryzująca się znacznie większą szybkością działania.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Jakie są poziomy pamięci podręcznej w nowoczesnych systemach komputerowych?

A

Nowoczesne systemy komputerowe mają przynajmniej dwa poziomy pamięci podręcznej.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Co to jest memory interleaving?

A

Rozmieszczanie danych w ten sposób, że kolejne elementy danych są alokowane w kolejnych bankach pamięci.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Czym są konflikty w dostępie do banków pamięci?

A

Konflikty w dostępie do banków pamięci mogą spowodować nawet siedmiokrotny wzrost czasu obliczeń.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Jakie są alternatywne sposoby reprezentacji macierzy?

A

Podział macierzy na bloki, które mogą być rozmieszczone w pamięci podręcznej pierwszego poziomu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Co to jest MIMD?

A

Multiple Instruction stream Multiple Data stream - architektura komputerów równoległych.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Czym charakteryzują się komputery z pamięcią wspólną?

A

Niewielka liczba procesorów, jednolity i szybki dostęp do pamięci, statyczna lub dynamiczna sieć połączeń.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Czym charakteryzują się komputery z pamięcią rozproszoną?

A

Brak realizowanej fizycznie wspólnej pamięci adresowej, procesory z pamięcią lokalną połączone siecią połączeń.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Co to są procesory wielordzeniowe?

A

Umieszczenie więcej niż jednego rdzenia w pojedynczym układzie scalonym, logicznie stanowiącego oddzielny procesor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Czym jest fundamentalny trójkąt w kontekście optymalizacji programów?

A

Algorytm - sprzęt - kompilatory: konieczność opracowania odpowiednich algorytmów.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Na czym polega optymalizacja maszynowa?

A

Optymalizacja zależna od architektury komputera, właściwe wykorzystanie architektury oraz specyficznej listy rozkazów procesora.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Na czym polega optymalizacja skalarna?

A

Optymalizacja niezależna sprzętowo, np. eliminacja nadmiarowych podstawień, propagacja stałych, eliminacja wspólnych części kodu oraz wyrażeń.

17
Q

Co to jest optymalizacja wektorowa i równoległa?

A

Największy przyrost wydajności uzyskuje się dzięki optymalizacji wektorowej i równoległej.

18
Q

Jakie są aspekty tworzenia efektywnych programów na komputery równoległe?

A

Identyfikacja równoległości obliczeń, wybór strategii dekompozycji programu na części wykonywane równolegle, wybór modelu programowania, styl implementacji równoległości.

19
Q

Czym jest przyspieszenie w kontekście obliczeń równoległych?

A

Ile razy szybciej działa program zoptymalizowany na konkretną architekturę.

20
Q

Na czym polega prawo Amdahla?

A

Opisuje wpływ optymalizacji fragmentu programu na wydajność obliczeniową.

21
Q

Czym jest model Gustafsona?

A

Model zakładający, że w miarę wzrostu zasobów obliczeniowych, zwiększa się rozmiar rozwiązywanych problemów.

22
Q

Co to jest BLAS i jakie są jego poziomy?

A

Basic Linear Algebra Subprograms - standard dla podprogramów realizujących podstawowe operacje algebry liniowej. Poziomy: operacje typu wektor-wektor, operacje typu macierz-wektor, operacje typu macierz-macierz.

23
Q

Czym jest OpenMP?

A

Standard programowania komputerów z pamięcią wspólną dla języków C/C++ oraz Fortran.

24
Q

Jak wygląda model wykonania programu w OpenMP?

A

Program rozpoczyna się realizacją instrukcji pojedynczego wątku głównego. Gdy wystąpi instrukcja specyfikująca region równoległy, tworzona jest grupa działających równolegle wątków.

25
Q

Na czym polega konstrukcja parallel w OpenMP?

A

Tworzy grupę wątków. Jeśli wątek master osiągnie dyrektywę parallel, tworzona jest grupa wątków pod warunkiem, że nie występuje klauzula if.

26
Q

Co to jest MPI i do czego służy?

A

Program MPI zakłada działanie kilku równoległych procesorów, w szczególności procesorów rozproszonych.

27
Q

Jak wygląda struktura programu MPI?

A

W każdym programie musi się znaleźć dyrektywa #include ‘mpi.h’, wywołanie funkcji MPI_Init oraz MPI_Finalize.

28
Q

Na czym polega komunikacja punkt-punkt w MPI?

A

Przesyłanie wiadomości między dwoma procesami realizowane przez polecenia MPI_Send oraz MPI_Recv.

29
Q

Czym są operacje redukcji w MPI?

A

Funkcja MPI_Reduce umożliwia wykonywanie operacji redukcji, MPI_Allreduce wyniki są scalane i zamieszczane w pamięci każdego procesu.

30
Q

Co to jest komunikacja grupowa w MPI?

A

Funkcje MPI_Bcast, MPI_Scatter, MPI_Gather, MPI_Allgather, MPI_Alltoall służą do komunikacji grupowej, rozesłania danych do wszystkich procesów lub zebrania danych ze wszystkich procesów.