kolokwium z poprzednich rocznik Nieznany

background image

1.

Wywołanie funkcji MPI_Finalize:
Wybierz jedn
ą odpowiedź:

a) Jest konieczne w niektórych implementacjach MPI
b) Powinna być wywołana jeśli korzystamy z więcej niż 1 procesu
c) Jest konieczne, gdyż bez niej pojawiają się błędy
d) Jest dobrą praktyką, ale nie jest to wymagane

2.

Efektywność przyjmuje wartości z przedziału:
N - liczba procesów
Wybierz jedn
ą odpowiedź:

a) [0,N]
b) [0,1]
c) [0,1)
d) [1,N]

3.

Do problemu o skalowalnym rozmiarze powinno się zastosować:
Wybierz jedn
ą odpowiedź:

a) Żadne z powyższych
b) Prawo Amdahla
c) Dowolne
d) Prawo Gustafsona (odpowiedz potwierdzona przez prowadzącego)

4.

Programy pisane na laboratorium wykorzystujące GPU działały w taksonomii:
Wybierz jedn
ą odpowiedź:

a) MISD
b) SISD
c) SIMD (odp prawidłowa. Było też pytanie o taksonomie MPI - odp. MIMD [WS])
d) MIMD

5.

Wywołanie funkcji MPI_Gather odpowiada:
Wybierz jedną odpowiedź:

a) Wywołaniu MPI_Send we wszystkich procesach i n razy MPI_Recv w roocie
b) Wywołaniu MPI_Recv we wszystkich procesach i n razy MPI_Send w roocie
c) Wywołaniu MPI_Recv we wszystkich procesach poza rootem i n-1 razy MPI_Send w

roocie

d) Wywołaniu MPI_Send we wszystkich procesach poza rootem i n-1 razy MPI_Recv w

roocie

6.

Wywołanie funkcji MPI_Scatter odpowiada:
Wybierz jedną odpowiedź:

a) Wywołaniu MPI_Send we wszystkich procesach i n razy MPI_Recv w roocie
b) Wywołaniu MPI_Recv we wszystkich procesach i n razy MPI_Send w roocie
c) Wywołaniu MPI_Recv we wszystkich procesach poza rootem i n-1 razy MPI_Send w

roocie

d) Wywołaniu MPI_Send we wszystkich procesach poza rootem i n-1 razy MPI_Recv w

roocie


background image

7.

Która operacja trwa najkrócej?
Wybierz jedn
ą odpowiedź:

a) Nie ma różnicy pomiędzy tworzeniem wątku, a procesu.
b) Fork procesu.
c) Utworzenie wątku.
d) Stworzenie nowego podprocesu.

8.

MPI zaprojektowany jest do pracy z pamięcią:
Wybierz jedn
ą odpowiedź:

a) Dzieloną
b) Lokalną
c) Rozproszoną
d) Wspólną

9.

Karta graficzna może operować na pamięci:
Wybierz jedn
ą odpowiedź:
a) Dowolnej pamięci w systemie operacyjnym
b) Tylko karty graficznej.
c) Karty graficznej i pamięci operacyjne RAM

Gr6 wykłóciła tą odpowiedź i też zaliczył

d) Pamięci karty i wydzielonym bloku pamięci operacyjnej.

10.

Karta graficzna pracuje w architekturze:
Wybierz jedn
ą odpowiedź:

a) NUMA (odpowiedz potwierdzona przez prowadzącego)
b) COMA
c) UMA

dla skojarzenia

http://www.youtube.com/watch?v=nsLC08eQkj0

11.

Wskaż zdanie nieprawdziwe
Wybierz jedn
ą odpowiedź:

a) Wątki są „lżejsze” niż procesy
b) Wszystkie programy współdzielą całą pamięć systemu i mogą wzajemnie po niej czytać

i pisać. (odpowiedz potwierdzona przez prowadzącego)

c) Wątki współdzielą pamięć programu.
d) Komunikacja pomiędzy procesami odbywa się za pomocą kolejek komunikatów,

pamięci dzielonej, sygnałów i semaforów.

12.

Przesyłanie innego typu danych niż jest w specyfikacji MPI
Wybierz jedn
ą odpowiedź:

a) Nie jest możliwe ze względu na różnice w implementacji
b) Jest możliwe tylko wtedy gdy typem tym jest prosta struktura
c) Nie jest możliwe ze względu na różna wielkość typów danych na różnych

architekturach

d) Jest możliwe po serializacji lub zarejestrowaniu typu w MPI

13.

Korzystając z MPI na heterogenicznym klastrze wykorzystujemy model:
Wybierz jedn
ą odpowiedź:

a) CC-NUMA
b) COMA
c) NUMA
d) UMA

background image

14.

Procesory GPU są przystosowane do taksonomii:
Wybierz jedn
ą odpowiedź: (PYTANIE konfliktowe! prowadzący ma się zastanowić nad
poprawn
ą odpowiedzią i doprecyzować ), jeżeli przystosowane to SIMD I MIMD, tak mi się
wydaje

a) SIMD (odpowiedz uzasadniona i podana przeze mnie prowadzący ma pomyśleć jak

będzie oceniał to pytanie) - bardziej prawdopodobne

b) SISD i SIMD
c) MIMD i SIMD? (odpowiedz podana przez prowadzącego)
d) MIMD

SISD ma single Instruction Stream więc odpada,
W procesorach graficznych GPGPU występuje podział na tzw. rdzenie CUDA (ang. CUDA
cores), których zadaniem jest realizacja utworzonych wątków. Rdzenie te są grupowane we
wspomniane wyżej multiprocesory SM, na poziomie których możliwe jest już
wykonywanie niezależnych programów, tak jak w architekturze MIMD. - takie coś
znalazłem

http://www.wfmiisi09.cba.pl/forum/viewtopic.php?f=219&t=1887&start=10

no to w tym

pliku wrzuconym przez tomka jest błąd


TUTAJ:

http://www.cs.rice.edu/~vs3/PDF/comp635-lec4-v4.pdf

Piszą, że jeden blok to SIMD.


Zaznaczasz SIMD i masz 100% dobrze. bez problemu.

15.

OpenMPI jest to:
Wybierz jedn
ą odpowiedź:
(OpenMPI to biblioteka, MPI to protokó

ł

, takie pytanie te

ż

si

ę

pojawi

ł

o)

a) Protokół wymiany komunikatóws (To dotyczy samego MPI)
b) Biblioteka pozwalająca na zaawansowaną komunikację międzyprocesową
c) Biblioteka pozwalająca na automatyczne zrównoleglenie programu
d) Biblioteka do wysyłania prostych komunikatów pomiędzy procesami

16.

Czy przyspieszenie może mieć wartość większą niż N, gdzie N jest liczbą procesorów?
Wybierz jedn
ą odpowiedź:

a) Nie
b) Tak - to jest prawidłowa odpowiedź. Powiedział, że nazywa się to Superskalarnością

[WS]
(odpowiedz potwierdzona przez prowadzącego, choć osobiście się z nią nie zgadzam
do końca to w wykładach pani P też można to znaleźć)

17. Klasyczne jednordzeniowe procesory bez hyperthreadingu działają w taksonomii: 

a. SISD i SIMD

 

b. SISD 
c. SISD i MISD 
d. Dowolnej 
 

18. MPI działa w taksonomii: 

a. SIMD 
b. MISD 

background image

c. SISD 
d. 

MIMD

 
19. Obliczenia na GPU mogą być wykonywane: 

a. Tylko na float 
b. Tylko na int i float 
c. Tylko na float i double 
d. 

Zależy od karty graficznej


20. Najbardziej skalowalnym środowiskiem z poznanych na laboratorium jest: 

a. OpenMP 
b. GPU 

c. MPI


21. Zadania w ramach bloku lub worksetu są przetwarzane w taksonomii: 

a. MIMD 
b. SISD i SIMD 

c. SIMD ([WS]: 

http://www.cs.rice.edu/~vs3/PDF/comp635-lec4-v4.pdf

)

 

d. SIMD i MIMD 
 

22.

MPI jest to:
Wybierz jedn
ą odpowiedź:

a) Protokół wymiany komunikatów ( a podobne pytanko było z OpenMPI - tam

odpowiedzią prawidłową jest opcja “biblioteka do zaawansowanego przesyłania
komunikatów między procesami [WS])

b) Biblioteka pozwalająca na zaawansowaną komunikację międzyprocesową
c) Biblioteka pozwalająca na automatyczne zrównoleglenie programu
d) Biblioteka do wysyłania prostych komunikatów pomiędzy procesami

Co to jest przyśpieszenie super liniowe?
a. Przyśpieszenie większe niż N, gdzie N to liczba rdzeni procesora.
b. Przyśpieszenie, dla którego wartość efektywności jest równa 1.
c. Jest to przyśpieszenie, które rośnie wykładniczo.
d. Przyśpieszenie idealne, równe N, gdzie N to liczba rdzeni procesora.

Pytanie 5
Czy przyśpieszenie superliniowe jest możliwe jeśli nie korzystamy z zewnętrznych
zasobów obliczeniowych, obliczanie odbywa się tylko lokalnie?
a. Nie
b. Tak Ja bym dał tak

(Przyśpieszenie superliniowe występuje wtedy gdy wszystkie dane mieszczą się w
pamięci podręcznej czyli chyba w ogóle nie korzystamy z zewnętrznych zasobów
obliczeniowych, więc ja bym dał tak)

Jaka funkcja nie nadaje się do generowania liczb w programie wielowątkowym?
Wybierz jedną odpowiedź:
a. rand()

background image

b. rand_r()
c. erand48()
d. Marsaglia’s KISS generator


Rozwiń skrót GPGPU
General-Purpose computing on Graphics Processing Units

Przepustowość kart graficznych


















------------------------------------------------------------------------------------------------------------------

KOLOKWIUM 1 OPEN MP


1. Która operacja wykona się najszybciej?

a. utworzenie wątku

b. fork()
c. exec()
d. (...)

2. Jaką flagę należy ustawić, aby skompilować z OpenMP?

a. -fopenmp
b. -gopenmp
c. żadną - kompilator automatycznie wykryje wykorzystanie OpenMP
d. (...)

3. Do czego służy pragma "barrier"?

a. wszystkie wątki muszą dojść do niej w tym samym czasie
b. jest to synchronizowany fragment kodu
c. (...)
d. (...)

4. Jeżeli komputer ma 4 rdzenie, to na ilu wątkach program uruchomi się domyślnie?

na 4ch

background image

5. Wskaż błędne zdanie:

dwa dowolne procesy nie mogą korzystać z dowolnej przestrzeni systemowej

6. Co się stanie przy kompilacji gdy nie dodamy flagi fopenmp?

skompiluje się bez obsługi openmp

7. Default(none) - co się stanie ze zmiennymi?

należy ręcznie ustalić widoczność wszystkich zmiennych


9. Pytanie o dyrektywy private, shared, barier

shared – dane wewnątrz równolegle przetwarzanego regionu są współdzielone, co
oznacza, że są widoczne i dostępne dla wszystkich wątków jednocześnie. Domyślnie
wszystkie zmienne w regionie współdzielonej pracy są shared z wyjątkiem licznika iteracji
pętli.

private – dane wewnątrz równolegle przetwarzanego regionu są prywatne dla każdego
wątku, co oznacza, że każdy wątek posiada lokalną kopię i używa jej jako zmienną
tymczasową. Prywatne zmienne nie są inicjalizowane, ich wartość nie jest udostępniana
do użycia poza regionem przetwarzanym równolegle. Domyślnie liczniki iteracji pętli są
prywatne.

default – pozwala programiście ustawiać domyślny zasięg zmiennych wewnątrz
równolegle przetwarzanego regionu, poprzez użycie shared, private lub none. Opcja none
zmusza programistę do deklarowania każdej zmiennej w równolegle przetwarzanym
regionie przy użyciu klauzul atrybutów współdzielenia danych.

barrier – każdy wątek czeka, zanim wszystkie inne wątki osiągną ten punkt. Konstrukcje
współdzielące prace posiadają ukrytą synchronizację barier na końcu.

nowait – ustala, że wątek kompletujący przyporządkowaną mu pracę, może pracować bez
czekania na inne wątki przed zakończeniem. W przypadku braku tej klauzuli, wątki
przeprowadzają synchronizację bariery na końcu bloku pracy współdzielonej.

itp.

10. Default(none) - co się stanie ze zmiennymi:

należy ręcznie ustalić widoczność wszystkich zmiennych

//--------------------------------------------------------------------
/*Pytania wymyślone:*/

na pierwszym chyba było coś o firstprivate/lastprivate?

firstprivate – dane prywatne dla każdego wątku, inicjalizowane przy użyciu wartości
zmiennych o nazwach takich jak w głównym wątku.

lastprivate – dane prywatne dla każdego wątku. Wartości są kopiowane na zewnątrz
zrównoleglonego rejonu, do zmiennych globalnych o takiej samej nazwie, jeśli bieżąca
iteracja jest ostatnią iteracją zrównoleglonej pętli. Zmienna może być zarówno firstprivate,

background image

jak i lastprivate.

threadprivate – dane są danymi globalnymi, stają się prywatne w każdym zrównoleglonym
regionie podczas uruchomienia. Różnica pomiędzy threadprivate a private polega na tym,
że w pierwszym występuje globalna przestrzeń przypisywana przez threadprivate a w
drugim wartość przetwarzana w zrównoleglonych regionach.

omp_get_thread_num()- zwraca id wątku
omp_set_num_threads(n) - ustawia ilość wątków
omp_get_num_threads() - zwraca ilość wątków

11.Co się stanie jak ktoś nie zaliczy kolokwium poprawkowego:
a) Warunek
b) Laska Pańska ;)
c) NIC (NIC to 0,5 na dwoch ;)) <a href=”www.chwasty.pl”>

Lubię To</a>

d) Chwast wróci do Polski
e) zrobimy euromajdan ;)
f) Majdan już nie gra

dzis na moodlu po poludniu napisze co z tymi ktorzy nie zdali (spr ile ich jest), ewentualnie w
srode bedzie jakis termin

http://disco.fleo.se/?name=PRIR+JEST+ZAJEBIST

Y

:)

:)


Wyszukiwarka

Podobne podstrony:
KOLOKWIUM 3 4 id 299651 Nieznany
Finanse wykład IV, Rok 1, Semestr 2, Finanse (dr Helena Ogrodnik), Różne (od poprzednich roczników),
legalne wzory kolokwium 5 id 26 Nieznany
KOLOKWIUM 1 2 id 299655 Nieznany
kolokwium 2 id 240302 Nieznany
Kolokwium 7 id 240326 Nieznany
Finanse wykład III, Rok 1, Semestr 2, Finanse (dr Helena Ogrodnik), Różne (od poprzednich roczników)
Notatki do kolokwium 2 (poprzednie lata 1), Studia UMK FiR, Licencjat, II rok - moduł Rachunkowość,
KOLOKWIUM 1 2 id 299650 Nieznany
KOLOKWIUM id 354065 Nieznany
Kolokwium I id 240665 Nieznany
Budownictwo I kolokwium id 9465 Nieznany (2)
KOLOKWIUM 7 8 id 299658 Nieznany
Kolokwium id 240285 Nieznany
Kolokwium2 id 241077 Nieznany
ANG kolokwium 2 id 63668 Nieznany (2)
C4 (KolokwiumI) id 97238 Nieznany
Pojecia kolokw I id 370589 Nieznany
Kolokwium Fotosynteza Opracowan Nieznany

więcej podobnych podstron