Grupa 1?& Piotr Dergun, Dominik Waśko &\ddmmyyyydate\today\tabularnewline
Grupa 1 & Piotr Dergun, Dominik Waśko &\ddmmyyyydate\today\tabularnewline
\hline
\hline
\end{tabular}
\end{tabular}
@ -77,50 +77,41 @@ Celem zadania jest obliczenie iloczynu dwóch macierzy prostokątnych na konkret
Zmienna \textit{i} ma za zadanie przechodzić po wierszach macierzy wyjściowej, a zmienna \textit{j} - jej kolumnach. Za przemnażanie wszystkich elementów z wektora macierzy A (po wierszach) i wektora macierzy B (po kolumnach) odpowiedzialna jest wewnętrzna pętla.
Zmienna \textit{i} ma za zadanie przechodzić po wierszach macierzy wyjściowej, a zmienna \textit{j} - jej kolumnach. Za przemnażanie wszystkich elementów z wektora macierzy A (po wierszach) i wektora macierzy B (po kolumnach) odpowiedzialna jest wewnętrzna pętla.
(wyjaśnić dyrektywy pragma - jaki wpływ na zrównoleglenie)
Poniższa dyrektywa:
\begin{lstlisting}
#pragma omp parallel for default(shared)
\end{lstlisting}
oznacza, że wszystkie zmienne w przetwarzanym równolegle bloku kodu będą zmiennymi współdzielonymi, z wyjątkiem liczników pętli
Natomiast dyrektywa
\begin{lstlisting}
#pragma omp parallel for default(none) shared(A, B, C)
firstprivate(rozmiar)private(i, j)
\end{lstlisting}
oznacza, że współdzielone będą wskaźniki tablic (A,C,B), zmienna \textit{rozmiar} jest prywatna dla każdego wątki i gdy jest tworzona jest kopią zmiennej globalnej. Zmienne \textit{i} i \textit{j} są prywatne.
Program został skompilowany i uruchomiony z następującymi parametrami: macierz 1500x1500, ilość wątków 1-15, dla każdego wątku wykonano 10 powtórzeń. Z otrzymanych wyników obliczono przyspieszenie oraz średni czas liczenia macierzy.
Rysunek 1 przedstawia wykres zależności przyspieszenia od ilości wątków. Można na nim zauważać że wzrost przyspieszenia uzyskuje się tylko do momentu gdy liczba wątków jest mniejsza lub równa 8. Spowodowane jest to tym, że komputer na którym obliczane było zdanie posiada procesor o 4 rdzeniach oraz wykorzystuje technologię HyperThreading która pozwala na prace w sumie ośmiu wątków. Rysunek 2. przedstawiam wykres zależności czasu obliczeń od liczby wątków. Można zobaczyć na nim, że powyżej 8 wątków czas obliczeń nie ulega już skróceniu.
Z powyższych obserwacji wynika, że wykorzystanie większej liczby wątków pozwala znacząco skrócić czas wykonania programu. Jednak zwiększanie liczy wątków ponad to co oferuje procesor nie powoduje wzrostu wydajności.
Program został skompilowany i uruchomiony z następującymi parametrami: macierz 1500x1500, ilość wątków 1-15, dla każdego wątku wykonano 10 powtórzeń. Z otrzymanych wyników obliczono przyspieszenie oraz średni czas liczenia macierzy. Poniżej przedstawione są wykresy zależności czasu obliczeń oraz przyspieszenia od ilości wątków.
\caption{Wykres zależności czasu obliczeń od liczby wykorzystanych wątków}
\caption{Wykres zależności czasu obliczeń od liczby wykorzystanych wątków}
\end{figure}
\end{figure}
W celu ułatwienia pracy Prowadzącemu warto wykresy podpisać, aby Prowadzący omyłkowo nie przyjął, że dany wykres przedstawia średnią miesięczną temperaturę w Bangladeszu na przełomie lat 1975-1982, ponieważ taki wykres byłby nieodpowiedni, przez co sprawozdanie byłoby niezaliczone. Łatwo zauważyć, że każdy wykres w przestrzeni 2D posiada dwie osie i z grzeczności należy je opisać. Osie posiadają jednostki, które też warto przytoczyć.
Czasem w sprawozdaniu warto przytoczyć kilka zalet danego rozwiązania i wypisać je jako lista:
\begin{lista}
\item Pierwszą zaletą jest to, że jest.
\item Druga zaleta jest również obecna.
\item Trzecia zaleta jest już troche naciągana.
\item Czwarta zaleta jest wadą, czyli zaletą ujemną.
\end{lista}
Jeśli zaszłaby konieczność zestawienia danych wartości w tabeli to również jest taka możliwość.
\begin{table}[!hbp]
\centering
\begin{tabular}{|p{5cm}|c|}
\hline
Zalety & Wady \tabularnewline
\hline
Ładne, kolorowe & Brak\tabularnewline
Szybkie, działające & Brak\tabularnewline
\hline
\end{tabular}
\caption{Podpis bardzo wartoścowej tabeli z danymi}
\end{table}
W sprawozdaniu muszą znaleźć się wnioski. Wnioski stanowią przesłankę, o tym iż osoba je pisząca, która ubiega się o tytuł magistra inżyniera, wie co robi. Osoba taka często jest w stanie określić czemu miało służyć dane ćwiczenie, a także ocenić w jakim stopniu udało się rozwiązać dane zagadnienie i gdzie napotkano problemy.