Programowanie SPMD

AmenableGeranium avatar
AmenableGeranium
·
·
Download

Start Quiz

Study Flashcards

16 Questions

Jakie są zalety modelu programowania SPMD?

umożliwia realizację na różnych platformach, w tym w MPI i OpenMP

Co to jest zależność RAW?

zależność pomiędzy dwoma instrukcjami, gdzie jedna z nich ustawia wartość zmiennej, a druga tę wartość odczytuje

Co oznacza MPI_Allgather?

operacja kolekcji danych z wszystkich procesów do jednego procesu

Jakiego typu jest zależność pomiędzy instrukcjami y += 4 * sin (i * 3.14); A [i] = 3 * x + z * y;?

RAW (Read After Write)

Co to jest model programowania MPMD?

każdy proces uruchamia inny program

Co to jest MPI_Comm_Work?

komunikator, który grupuje procesy wśród komunikacji

Jakie jest znaczenie MPI_Allreduce?

operacja redukcji danych z wszystkich procesów do jednego wyniku

Co to jest zmienne pomocnicze w modelu programowania SPMD?

zmienne, które są przypisane do każdego procesu

Co stanie się z wartościami w zmiennej b po wykonaniu operacji MPI_REDUCE?

Wartości zmienią się tylko w procesie o randze 1

Programy standardowe w stosunku do programu rozważanego w analizie Amdahla mają najczęściej:

mniejszy udział części nie dającej się zrównoleglić

Co oznacza sposób podziału iteracji równoległej pętli for pomiędzy wątki przy zastosowaniu klauzuli schedule (dynamic)?

przydział będzie dokonywany w trakcie działania programu

Co oznacza klauzula firstprivate?

zmienna będzie zmienną prywatną wątków, inicjalizowaną wartością sprzed rozpoczęcia wykonywania dyrektywy

W analizie Gustafsona rozważa się zadania, których czas rozwiązania programem równoległym przy rosnącej liczbie procesorów jest:

stały

Co stanie się z wartościami w zmiennej a po wykonaniu operacji MPI_REDUCE?

Wartości pozostaną niezmienione

Co oznacza, że program ma większy udział części nie dającej się zrównoleglić?

Program jest mniej efektywny

Co się stanie, gdy liczba procesorów wzrośnie w programie równoległym?

Czas rozwiązania programu zmniejszy się

Study Notes

Model programowania SPMD

  • Może być realizowany w MPI i OpenMP
  • Ogólniejszy niż MPMD w standardowych środowiskach programowania
  • Wymaga, aby każda linijka kodu była wykonywana przez wszystkie procesy (wątki), tyle że pracujące na różnych danych

Zależności w kodzie

  • RAW (Read After Write) - zależność, gdzie jedna instrukcja czyta wartość zmiennej, która została zmieniona przez poprzednią instrukcję
  • WAR (Write After Read) - zależność, gdzie jedna instrukcja pisze wartość zmiennej, która została wcześniej odczytana przez inną instrukcję
  • WAW (Write After Write) - zależność, gdzie dwie instrukcje piszą wartość zmiennej

Operacja komunikacji grupowej

  • MPI_Gather - operacja, która zbiera dane z wszystkich procesów i umieszcza je w jednym procesie
  • MPI_Allgather - operacja, która zbiera dane z wszystkich procesów i umieszcza je w każdym procesie
  • MPI_Scatter - operacja, która dystrybuuje dane z jednego procesu do wszystkich procesów
  • MPI_Alltoall - operacja, która dystrybuuje dane z każdego procesu do każdego procesu
  • MPI_Reduce - operacja, która redukuje dane z wszystkich procesów do jednego wyniku
  • MPI_Allreduce - operacja, która redukuje dane z wszystkich procesów do jednego wyniku i umieszcza go w każdym procesie

Podział iteracji pętli for

  • Klauzula schedule (dynamic) - sposób podziału iteracji pomiędzy wątki, gdzie przydział będzie dokonywany w trakcie działania programu
  • Liczba iteracji przydzielanych poszczególnym wątkom może być różna
  • Rozmiar porcji będzie zmienny (określany dynamicznie)

Klauzula firstprivate

  • Oznacza, że objęta nią zmienna będzie zmienną prywatną wątków, inicjalizowaną wartością sprzed rozpoczęcia wykonywania dyrektywy

Analiza Gustafsona

  • Rozważa się zadania, których czas rozwiązania programem równoległym przy rosnącej liczbie procesorów jest stały

Quiz o programowaniu SPMD (single program multiple data) - różnice i zależności między tym a innymi modelami programowania.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser