parent
5fece7b2c4
commit
c5976006bb
Binary file not shown.
Binary file not shown.
@ -0,0 +1,83 @@ |
||||
\documentclass[fleqn,12pt]{article} |
||||
\usepackage[utf8]{inputenc} |
||||
\usepackage[slovak]{babel} |
||||
\usepackage{amsmath} |
||||
% --------------------------------------------------------------- |
||||
% pri pouziti pdftex-u s obrazkami jpg pouzit nasledujuci riadok |
||||
\usepackage[pdftex]{color,graphicx} |
||||
% pri pouziti cslatex-u s obrazkami eps namiesto predosleho riadku |
||||
% pouzit nasledujuci riadok |
||||
% \usepackage{color,graphicx} |
||||
% ---------------------------------------------------------------- |
||||
\setlength\textheight{200mm} |
||||
\setlength\textwidth{160mm} |
||||
\oddsidemargin=0mm\evensidemargin=0mm |
||||
\sloppy |
||||
\begin{document} |
||||
\thispagestyle{empty} |
||||
\begin{center} |
||||
{\Large Katedra počítačov a informatiky FEI TU v Košiciach} |
||||
\end{center} |
||||
\vfill |
||||
\begin{center} |
||||
{\huge Paralelné programovanie} |
||||
\end{center} |
||||
|
||||
\begin{center} |
||||
{\large 2015/2016} |
||||
\end{center} |
||||
\vfill |
||||
|
||||
\begin{center} |
||||
{\large Peter Babič} \hfill {\large Počítačové modelovanie} |
||||
\end{center} |
||||
|
||||
\clearpage |
||||
|
||||
\setcounter{section}{1} |
||||
\section{Paralelné transponovanie matice} |
||||
|
||||
\subsection*{Paralelná dekompozícia problému} |
||||
|
||||
Master proces sa stará o načítanie dát a rozpočítanie počtu prvkov priradených pre slave procesy na približne rovnaké časti. Tie sú násdledne rozoslané medzi všetky dostupné slave procesy, vrátane master procesu, pomocou funkcie \verb|MPI_Scatterv| Proces so získanej časti nájde maximum. Jednotlivé maximá sú následne spätne získané master procesom pomocou \verb|MPI_Gather|, ktorý z nich nájde absolútne maximum. Po ukončení behu pralelnej časti algoritmu master proces vypíše výsledok na štandardný výstup. |
||||
|
||||
Program využije všetky dostupné vlákna. Jedinou podmienkou je, aby počet párov vstupných hodnôt bol rovný alebo väčší ako počet vlákien, inak algoritmus nemá zmysle paralelizovať. |
||||
|
||||
\subsection*{Spôsob využitia nových komunikátorov} |
||||
|
||||
Všetky procesy zahrnuté do riešenia sú súčasťou globálneho komunikátora \verb|MPI_COMM_WORLD|. |
||||
|
||||
\subsection*{Spôsob využitia topológie procesov} |
||||
|
||||
V riešení nepoli využité virtuálne topológie. |
||||
|
||||
\subsection*{Hodnotenie efektívnosti výpočtu} |
||||
|
||||
Experimentálne namerané výsledky behu sekvenčného a paralelného algoritmu na processore Intel Core2 Duo Processor T9500 so 4 GB priľahlej RAM sú uvedené v tabuľke \ref{t:efecti}. Vstupom bol súbor obsahujúci 500 000 hodnôt. |
||||
|
||||
\begin{table}[h!] |
||||
\caption{Porovnanie sekvenčného (1) a paralelného (2+) algoritmu} |
||||
\label{t:efecti} |
||||
\centering |
||||
\begin{tabular}{l|rrrrrrrr} |
||||
\hline |
||||
Počet procesov & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ |
||||
\hline |
||||
Čas v sekundách & 0.24 & 0.33 & 0.33 & 0.35 & 0.42 & 0.45 & 0.60 & 0.60 \\ |
||||
\hline |
||||
Vyťaženie CPU v \% & 92 & 125 & 140 & 141 & 150 & 156 & 158 & 161 \\ |
||||
\hline |
||||
\end{tabular} |
||||
\end{table} |
||||
|
||||
Výsledky naznačujú, že použitá implementácia algoritmu dosahuje najlepšie výsledky v sekvenčnej forme. S nárastom vlákien sa zvyšuje čas aj vyťaženosť CPU. |
||||
|
||||
\subsection*{Zdrojový text programu} |
||||
|
||||
Program bol vyvinutý v prostredí jazyka C. |
||||
|
||||
|
||||
|
||||
\end{document} |
||||
|
||||
|
Loading…
Reference in new issue