Mercurial > hg > Papers > 2013 > yuhi-prosym
changeset 9:5af0e754b431
write benchmark
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 05 Nov 2013 05:47:40 +0900 |
parents | a5c4a8caf044 |
children | 7bd8b3a075a2 |
files | paper/fft_benchmark.tex paper/ipsj.pdf |
diffstat | 2 files changed, 71 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/fft_benchmark.tex Tue Nov 05 03:57:19 2013 +0900 +++ b/paper/fft_benchmark.tex Tue Nov 05 05:47:40 2013 +0900 @@ -1,7 +1,6 @@ -\section{データ並列実行のベンチマーク}\label{fft_benchmark} +\section{Benchmark}\label{fft_benchmark} 続いて、フーリエ変換と周波数フィルタによる画像処理を行う例題を用いてベンチマークを行った。 -512*512, 768*768, 1024*1024の画像を High Pass Filter で変換する例題である。 -これも GPU, CPU 上, 及び CPU + GPU 上で同時実行して比較を行った。 +512*512の画像を High Pass Filter で変換する例題である。 実験環境 \begin{itemize} @@ -11,3 +10,72 @@ \item Compiler : Apple clang version 4.1 (based on LLVM 3.1svn) \item GPU : AMD ATI Radeon HD 5870 1024MB \end{itemize} + +\subsection{Run Time} +\begin{tiny} + \begin{table}[h] + \begin{center} + \caption{Run Time} + \label{table:fft_runtime} + \small + \begin{tabular}[t]{c||r} + \hline + &Run Time \\ + \hline + 1 CPU&453 ms \\ + \hline + 2 CPU&261 ms \\ + \hline + 4 CPU&178 ms \\ + \hline + 8 CPU&117 ms \\ + \hline + GPU&94 ms \\ + \hline + GPU \& 1 CPU&542 ms \\ + \hline + GPU \& 2 CPU&357 ms \\ + \hline + GPU \& 4 CPU&256 ms \\ + \hline + GPU \& 8 CPU&180 ms \\ + \hline + \end{tabular} + \end{center} + \end{table} +\end{tiny} + +表\ref{table:fft_runtime}は CPU,GPU 上,及び CPU + GPU 上で同時実行して比較を行った。 +1 CPU を利用した場合と比較して,2 CPU では約 1.7 倍,GPU では約 4.8 倍の速度向上が見られる。しかしながら,8 CPU を利用した場合,4 CPU を利用した場合と比較して速度はあがっているが速度上昇率は約 1.5 倍に落ちている。これはアムダールの法則から,並列化率が低いために速度向上が頭打ちになっていると考えられる。 +また,GPU \& 1 CPU を利用した場合,1 CPU を利用した場合と比較して約 0.8 倍の速度低下が見られる。これは各 Task に依存関係があり,交互に Task を割り振っているため CPU,GPU 間でのデータの転送が増えたことがネックになっていると考えられる。 + +\subsection{Busy Time} +次に,RDTSC 命令を用い Busy Time の測定を行った。 + +\begin{tiny} + \begin{table}[h] + \begin{center} + \caption{Busy Time} + \label{table:fft_busytime} + \small + \begin{tabular}[t]{c||r|r} + \hline + &Time Stamp&Busy Time \\ + \hline + 1 CPU&1202282702&451 ms \\ + \hline + 2 CPU&687813186&258 ms \\ + \hline + 4 CPU&421398464&158 ms \\ + \hline + 8 CPU&265192153&99 ms \\ + \hline + GPU&3532807&1.3 ms \\ + \hline + \end{tabular} + \end{center} + \end{table} +\end{tiny} + +CPU を利用した場合,表\ref{table:fft_runtime}とほぼ同様の結果が得られた。 +しかしながら,GPU を利用した場合,Busy Time が 1.3 ms なのに対し,表\ref{table:fft_runtime}の Run Time は 94 ms となっている。この結果から,GPU 上で実行する場合,データの転送がネックになっていることがわかる。