Mercurial > hg > Papers > 2015 > oc-thesis
view prepaper/Benchmark.tex @ 14:6d9c4f5f08bb
update abstract
author | oc |
---|---|
date | Tue, 17 Feb 2015 12:29:31 +0900 |
parents | 16c5f065f7e7 |
children |
line wrap: on
line source
\section{Benchmark} 本研究で実装した GpuScheduler および CudaScheduler を用いて、WordCountを測定する。 実験環境 \begin{itemize} \item OS : MacOS 10.9.1 \item CPU : 2*2.66GHz 6-Core Intel Xeon \item GPU : NVIDIA Quadro K5000 4096MB \item Memory : 16GB 1333MHz DDR3 \item Compiler : Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) \end{itemize} 表:\ref{table:wc}は100MB のテキストファイルに対して WordCount を行なった場合の実行時間である。 \begin{table}[!h] \begin{center} \small \begin{tabular}[t]{c||r} \hline & Run Time \\ \hline 1 CPU & 0.69s \\ \hline 2 CPU & 0.35s \\ \hline 4 CPU & 0.18s \\ \hline 8 CPU & 0.09s \\ \hline 12 CPU & 0.07s \\ \hline OpenCL(no pipeline) & 48.32s \\ \hline OpenCL(pipeline) & 46.74s \\ \hline OpenCL Data Parallel & 0.50s \\ \hline CUDA(no pipeline) & 55.71s \\ \hline CUDA(pipeline) & 53.30s \\ \hline CUDA Data Parallel & 0.73s \\ \hline \end{tabular} \end{center} \label{table:wc} \caption{WordCount} \end{table} パイプラインありの方が少しだけ実行結果が向上している。しかし、期待するほどの効果が出ていない。 これは図:\ref{fig:parallel_exec}のように綺麗なパイプラインで実行されていないことが考えられる。 綺麗なパイプラインで実行するためにはデータ転送と kernel の実行が同じ時間で終了することが望ましい。 また、まだ各 Operation の待ち方がおかしく待つ必要がない部分を待っている可能性もある。