\subsection{Результаты запусков}

После получения распараллеленных на общую память версий тестов был проведен их запуск на различных вычислительных устройствах. Произведено сравнение полученных версий с параллельными версиями на OpenMP. Запуск на процессоре Intel Core i7 980x \cite{intel} (6 ядер, 12 потоков, компилятор mpiifort с уровнем оптимизации -O3) показал следующие результаты (см. Рис. \ref{fig:titan_12_all_classes} и \ref{fig:titan_c_all}):
\pagebreak

\begin{figure}[hbt!]
\centering
\includegraphics[scale=0.35]{src/assets/titan_12_all_classes.png}
\caption{замер времени работы полученных версий на DVMH и эталонных версий на OpenMP на процессоре Intel Core i7 980x (12 потоков).}
\label{fig:titan_12_all_classes}
\end{figure}
\pagebreak
\begin{figure}[hbt!]
\centering
\includegraphics[scale=0.5]{src/assets/titan_c_all.png}
\caption{сравнение времени работы тестов на различном количестве потоков на процессоре Intel Core i7 980x (класс C).}
\label{fig:titan_c_all}
\end{figure}

На основе полученных результатов можно сделать следующие выводы:

\begin{itemize}
    \item рассматриваемые программы ускоряются не одинаково: тесты CG, FT, SP дают максимальное ускорение примернов два раза, BT и LU -- в четыре с половиной, EP -- в восемь с половиной при запуске на 6-ти ядерном процессоре;

    \item на одном и том же классе разные тесты сильно отличаются по времени работы (например, тест BT на 12 потоках работает около 400 секунд, а EP - около 20ти секунд);
    
    \item разница между DVMH-версиями и OpenMP-версиями на классе A составляет около 10-20\% в пользу OpenMP; на тесте FT разницы нет вовсе; с ростом размера задач разрыв уменьшается до 0-5\% на классе C;

    \item на классе C тесты FT, LU, SP показывают одинаковое ускорение, на BT и CG сохраняется замедление DVMH-версий, DVMH-версия EP ускоряется немного лучше, чем OpenMP-версия;

    \item время работы DVMH-версий и OpenMP-версий на различном количестве используемых потоков также отличается несущественно, с ростом количества потоков это различие уменьшается;

    \item есть примеры, на которых DVMH-версии быстрее (EP, класс C), чем версии на OpenMP и наоборот (BT и LU, класс C);
\end{itemize}


Дополнительно были получены результаты работы на графических ускорителях. При тестировании использовались видеокарты Nvidia GeForce GTX 1660 Ti и Nvidia GeForce GTX 1050 Ti \cite{nvidia}.

В процессе запусков возникли проблемы с тестом FT. Параллельная версия этого теста содержит приватные массивы больших размеров, что приводило к переполнению памяти видеокарты. Поэтому было принято решение отказаться от запуска программы FT на ускорителях.

Результаты остальных запусков представлены на Рис. \ref{fig:gpu}:
\pagebreak
\begin{figure}[hbt!]
\centering
\includegraphics[scale=0.35]{src/assets/gpu.png}
\caption{демонстрация ускорения работы полученных версий на ускорителях Nvidia относительно запуска последовательной программы на процессоре Intel Core i7 980x.}
\label{fig:gpu}
\end{figure}

Относительно результатов работы полученных версий на видеокартах справедливы следующие факты:

\begin{itemize}
    \item тест BT на видеокарте ускорился в 15.3 раз (против 3.6 раз на 12ти потоках на классе C);

    \item CG -- ускорение в 8.6 раз против 2.7;

    \item EP -- ускорение в 39.7 раз против 8.5 -- самое высокое ускорение;

    \item LU -- ускорение в 5.4 раз против 3.8 -- видеокарта почти не даёт выигрыш по сравнению с многопоточным процессором;

    \item SP -- ускорение в 10.4 раз против 2.5;

    \item с ростом мощности видеокарты растёт и ускорение (модель GeForce GTX 1660 Ti современней и мощней чем GeForce GTX 1050 Ti).
\end{itemize}