wszystkie grupy

Pytania PRIR 2015

Grupa 1

1. Co to jest taksonomia Flynna

2. W jakich językach programowania można pisać programy na karty graficzne wspierające technologię CUDA?

3. Co to jest (S)MP w nomenklaturze CUDA

symetric multiprocesing - kilka procesów może wykonywać to samo zadanie w tym samym czasie

4. Napisz fragment kodu alokujący i przesyłający tablicę dwuwymiarową w MPI, gdzie proces 0 wysyła a proces 1 odbiera tablicę.

5. Opisz działanie klauzul barrier i nowait.

6. Opisz pamieć lokalną i tekstur. Jak utworzyć w nich zmienną?

7. Co to jest gridDim, blockIdx, blockDim, threadIdx?

8. Czy wywołania funkcji z przedrostkiem cuda* są synchroniczne? Czy programista ma jakieś mechanizmy do zarządzania synchronizacją?

CudaMemCpy - synchroniczne
CudaMemCpyAsynch - asynchroniczne
Mechanizmy:

cudaThreadSynchronize - synchronizacja CPU
__syncThreads - synchronizacja GPU


9. W jaki sposób kompilować i uruchamiać programy w MPI?

mpicxx main.cpp -o main

mpirun -np 3 ./main


Grupa 2

1. CUDA - rozwinąć skrót i co to jest

2. Pamięć wspólna i rozproszona - z wykładu

3. Co wypisze program napisany w OpenMP (był fragment), miał w sobie jedno zrównoleglenie, single. Ważne było żeby napisać, że kolejność nie jest znana dla fragmentów

4. Algorytm w pseudokodzie mnożenia macierzy na GPU

5. Opisz taksonomię SISD i podaj przykłady użycia

komputer 1 procesorowy

6. Pamięci Constant i Global w CUDA, w jaki sposób zadeklarować zmienne w tych pamięciach
globalna:
_device_ int a[5]
stała:
_device_ _constant_ int a[5]

deklaracja ta musi być przed main
a w main musimy skopiować jakieś dane do tej zmiennej w pamieci stałej poprzez:
cudaMemcpyToSymbol(wartośc, *a, rozmiar)


zwykłe cudaMemCpy kopiuje do pamięci globalnej


7. Proces a wątek - różnice. Który z nich jest "lżejszy".

8. Na jakich typach danych mogą operować karty graficzne

int float double (raczej zalezne od karty)

9. W jaki sposób przesłać swój typ danych w MPI?


Grupa 3

1. Taksonomia MISD

2. W jakiej taksonomii pracuję się na GPGPU - SIMD

3. Kod OpenMP a w nim bariery, co program wypisze (głównie chodziło o to, że kolejność wątków wchodzących i wychodzących z bariery jest losowa)

4. Superskalarność(czy efektywność/przyspieszenie* może być większa niż 1 odpowiedź uzasadnij)

*jakiś parametr
Efektywnośc(od ilości procesorów) = Przyspieszenie / ilość procesorów. Może być. Dzieje się tak, gdy większość elementów programu, lub caly mieści się w pamięci podręcznej procesorów

5. Jest 1536 MB pamięci i dwie macierze do pomnożenia+ docelowa, jakiego max. rozmiaru macierze można pomnożyć

6. MPI_Bcast i MPI_Reduce do czego służą.

7. Opisz pamieć wspólną i rejestrów. Jak utworzyć w nich zmienną?

8. Firstprivate i lastprivate

9.


Grupa 4

1. SIMD, przykład - Single Instruction Multiple Data, np. komputer wektorowy, z technologii CUDA

2. Co to MPI?

3.

4. Reduction OpenMP - co to jest oraz wypisać operatory?

5. Jak się mierzy czas w CUDA?

6. __device__, __global__ i __host__ czym się różnią i które można łączyć i po co to robić? (w kontekście funkcji na cuda a nie zmiennych czy pamięci)


7. Jak możemy wypisać tekst na standardowe wyjście w Kernelu?

Dla kart graficznych z Compute Capability wersji 2.0 i wzwyż możemy wykorzystywać standardową metodę “printf”, natomiast dla niższych wersji wykorzystujemy metodę “cuprintf”, która dostepna jest tylko dla zarejestrowanych programistów (ograniczony dostęp) (źródło http://stackoverflow.com/a/2175515/4043989)


8. Czym się różni __syncThreads od cudaSynchronize?

cudaSynchronize - synchronizacja w CPU, wszystkie dane GPU muszą zostać zainicjalizowane przed uruchmieniem kernela.
__syncThreads - synchronizacja wątków na GPU. Czeka, aż wszystkie zakończą działanie/obliczenia. Rodzaj bariery.

9.MPI_Comm_Rank, MPI_COMM_WORLD - wyjaśnić, do czego służą co robią itd.


MPI_COMM - struktura przechowująca atrybuty komunikatora
MPI_COMM_WORLD - domyślny i podstawowy komunikator w MPI
MPI_COMM_RANK - nr procesu
MPI_COMM_SIZE - ilość procesów w komunikatorze


Wyszukiwarka

Podobne podstrony:
Enzymy przekształcą wszystkie grupy krwi w grupę 0
artykuly numery indeksów wszystkie grupy
Elementy logiki, Sprawdziany Wszystkie Grupy kl.1 LO-Technikum
Pytania- wszystkie grupy, Geomorfologia
Pytania- wszystkie grupy geomorfo, Geomorfologia
wszystkie grupy
opracowane wszystkie grupy z kolowkium semestr 2
I koło z analizy wszystkie grupy
II koło z analizy wszystkie grupy
kostki wszystkie grupy
wszystkie Imiona żeńskie, S, Sabina - To imię wywodzi się od słowa łacińskiego, określającego nazwę
1. PODSTAWOWE GRUPY MATERIAŁÓW, MATERIAŁY, Wszystko o materiałach (x)
Scenariusz zajęć dla grupy 5 6 letniej Wszystko wokol kwitnie
Male grupy spoleczne
Grupy krwi VK
Psychologia ogólna Umiejętnoiści akademickie Grupy

więcej podobnych podstron