W3 Flashcards
Co to jest konstrukcja atomic w OpenMP?
Dyrektywa ta zapewnia niepodzielność operacji
odczytu/zapisu/uaktualnienia określonej komórki pamięci
Do czego służy dyrektywa flush w OpenMP?
Dyrektywa flush uzgadnia wartości zmiennych wspólnych podanych na liście (lub wszystkich zmiennych w przypadku braku listy).
Jakie są automatyczne sytuacje uzgadniania wartości zmiennych w OpenMP?
Po barierze, na wejściu i wyjściu z sekcji krytycznej, na wejściu i wyjściu z konstrukcji ordered, na wyjściu z parallel, for, section oraz single.
Jakie funkcje są dostępne w bibliotece OpenMP do zarządzania wątkami?
omp_set_num_threads, omp_get_num_threads, omp_get_thread_num, omp_get_num_procs, imp_in_parallel, imp_set_nested, omp_get_nested, omp_set_dynamic, omp_get_dynamic.
Jakie zmienne środowiskowe można ustawić w OpenMP?
OMP_SCHEDULE, OMP_NUM_THREADS, OMP_NESTED, OMP_DYNAMIC.
Jak mierzyć czas obliczeń w OpenMP?
Za pomocą funkcji omp_get_wtime, która zwraca liczbę sekund od ustalonego punktu w przeszłości.
Jakie funkcje są używane do synchronizacji wątków w OpenMP?
omp_init_lock, omp_destroy_lock, omp_set_lock, omp_unset_lock, omp_test_lock.
Co to jest przyspieszenie (speedup) w kontekście OpenMP?
Przyspieszenie to miara pokazująca, ile razy szybciej działa program zoptymalizowany na konkretną architekturę względem programu uznanego za punkt odniesienia.
Jak definiuje się przyspieszenie bezwzględne algorytmu równoległego?
s_p* = t1* / tp, gdzie t1* to czas najlepszej realizacji algorytmu sekwencyjnego, a tp to czas działania algorytmu równoległego na p procesach.
Jak definiuje się przyspieszenie względne algorytmu równoległego?
s_p = t1 / tp, gdzie t1 to czas wykonania algorytmu na jednym procesorze, a tp to czas wykonania tego algorytmu na p procesorach.
Czym jest prawo Amdahla?
Prawo Amdahla opisuje wpływ optymalizacji fragmentu programu na wydajność obliczeniową danej architektury, wyrażając łączny czas wykonania obliczeń obu części programu.
Jak wyraża się prawo Amdahla dla obliczeń równoległych?
t_p = (f * t1 / p) + ((1 - f) * t1), gdzie f to część programu, która może być idealnie zrównoleglona na p procesorach.
Czym jest model Gustafsona?
Model Gustafsona zakłada, że w miarę wzrostu posiadanych zasobów obliczeniowych, zwiększa się rozmiar rozwiązywanych problemów, wyrażając przyspieszenie programu równoległego wzorem s_p,f = 1 + f (1 - p).
Czym są BLAS?
BLAS (Basic Linear Algebra Subprograms) to standard dla podprogramów realizujących podstawowe operacje algebry liniowej, obejmujące operacje wektorowe, macierzowe oraz wektorowo-macierzowe.