view paper/fft_benchmark.tex @ 5:208ca954df56

fix
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Wed, 06 Nov 2013 21:46:55 +0900
parents b7c8a956c10b
children
line wrap: on
line source

\section{Benchmark}\label{fft_benchmark}
続いて,フーリエ変換と周波数フィルタによる画像処理を行う例題を用いて benchmark を行った。
512*512 の画像を High Pass Filter で変換する例題である。

実験環境
\begin{itemize}
\item OS : MacOS 10.9
\item CPU : 2*2.66GHz 6-CoreIntel Xeon
\item Memory : 16GB
\item Compiler : Apple clang version 4.1 (based on LLVM 3.1svn)
\item GPU : AMD ATI Radeon HD 5870 1024MB
\end{itemize}

\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
      \end{tabular}
    \end{center}
  \end{table}
\end{tiny}

表\ref{table:fft_runtime}は使用する CPU のコア数を変更し比較を行った。
1 CPU を利用した場合と比較して,2 CPU では約 1.7 倍,GPU では約 4.8 倍の速度向上が見られる。
しかしながら,8 CPU を利用した場合,4 CPU を利用した場合と比較して速度はあがっているが速度上昇率は約 1.5 倍に落ちている。
これはアムダールの法則から,並列化率が低いために速度向上が頭打ちになっていると考えられる。
原因は,iterate で登録された Task が終了されるまで次の Task を実行することが出来ず,表\ref{table:data_parallel_index}のような index 割り当てだと Task の終了時間にばらつきが出て CPU の Utilization が低くなっていることが予想される。