annotate paper/fft_benchmark.tex @ 0:9e88a388ec83

first commit
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Tue, 05 Nov 2013 23:18:04 +0900
parents
children b7c8a956c10b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \section{Benchmark}\label{fft_benchmark}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 続いて、フーリエ変換と周波数フィルタによる画像処理を行う例題を用いてベンチマークを行った。
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 512*512の画像を High Pass Filter で変換する例題である。
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 実験環境
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 \begin{itemize}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 \item OS : MacOS 10.9
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 \item CPU : 2*2.66GHz 6-CoreIntel Xeon
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 \item Memory : 16GB
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 \item Compiler : Apple clang version 4.1 (based on LLVM 3.1svn)
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 \item GPU : AMD ATI Radeon HD 5870 1024MB
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 \end{itemize}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 \subsection{Run Time}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 \begin{tiny}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 \begin{table}[h]
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 \begin{center}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 \caption{Run Time}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 \label{table:fft_runtime}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 \small
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 \begin{tabular}[t]{c||r}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 &Run Time \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 1 CPU&453 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 2 CPU&261 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 4 CPU&178 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 8 CPU&117 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 GPU&94 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 \end{tabular}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 \end{center}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 \end{table}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 \end{tiny}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 表\ref{table:fft_runtime}は CPU,GPU 上,及び CPU + GPU 上で同時実行して比較を行った。
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 1 CPU を利用した場合と比較して,2 CPU では約 1.7 倍,GPU では約 4.8 倍の速度向上が見られる。しかしながら,8 CPU を利用した場合,4 CPU を利用した場合と比較して速度はあがっているが速度上昇率は約 1.5 倍に落ちている。これはアムダールの法則から,並列化率が低いために速度向上が頭打ちになっていると考えられる。
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 \subsection{Busy Time}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 次に,RDTSC 命令を用い Busy Time の測定を行った。
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 \begin{tiny}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 \begin{table}[h]
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 \begin{center}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 \caption{Busy Time}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 \label{table:fft_busytime}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 \small
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 \begin{tabular}[t]{c||r|r}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 &Time Stamp&Busy Time \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 1 CPU&1202282702&451 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 2 CPU&687813186&258 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 4 CPU&421398464&158 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 8 CPU&265192153&99 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 GPU&3532807&1.3 ms \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 \end{tabular}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 \end{center}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 \end{table}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 \end{tiny}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 CPU を利用した場合,表\ref{table:fft_runtime}とほぼ同様の結果が得られた。
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 しかしながら,GPU を利用した場合,Busy Time が 1.3 ms なのに対し,表\ref{table:fft_runtime}の Run Time は 94 ms となっている。この結果から,GPU 上で実行する場合,データの転送がネックになっていることがわかる。