changeset 11:4ecae227af0c

write concurrency
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Tue, 05 Nov 2013 07:21:34 +0900
parents 7bd8b3a075a2
children 05a67420ce5c
files paper/fft_benchmark.tex paper/ipsj.pdf paper/ipsj.tex paper/scheduling.tex
diffstat 4 files changed, 26 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/paper/fft_benchmark.tex	Tue Nov 05 05:48:05 2013 +0900
+++ b/paper/fft_benchmark.tex	Tue Nov 05 07:21:34 2013 +0900
@@ -32,14 +32,6 @@
         \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}
@@ -47,7 +39,6 @@
 
 表\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 の測定を行った。
Binary file paper/ipsj.pdf has changed
--- a/paper/ipsj.tex	Tue Nov 05 05:48:05 2013 +0900
+++ b/paper/ipsj.tex	Tue Nov 05 07:21:34 2013 +0900
@@ -68,7 +68,7 @@
 \input{cerium_gpu}     % GPU上での実行の機構
 \input{data_parallel}
 \input{fft_benchmark}
-\input{benchmark1}
+%\input{benchmark1}
 \input{scheduling}
 \input{conclusion}     % まとめ
 %\input{manycore}       % many core system
--- a/paper/scheduling.tex	Tue Nov 05 05:48:05 2013 +0900
+++ b/paper/scheduling.tex	Tue Nov 05 07:21:34 2013 +0900
@@ -5,6 +5,31 @@
 他にも、各アーキテクチャの得意とする計算が異なる事からも実行速度に差異が出ることが予想できる。
 これらの事から、 CPU と GPU に対して均等に Task を割り振ると並列度は低くなる。
 並列度を維持するためにアーキテクチャのコア数によってどちらかに優先して Task を振る必要がある。
+\subsection{Benchmark}
+\begin{tiny}
+  \begin{table}[h]
+    \begin{center}
+      \caption{Run Time for Heterogeneous}
+      \label{table:fft_heterogeneous}
+      \small
+      \begin{tabular}[t]{c||r}
+        \hline
+        &Run Time \\
+        \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_heterogeneous}は,セクション\ref{fft_benchmark}で用いた例題を,CPU,GPU で Task を順番に割り振って同時実行して時間を測定を行った。
+GPU \& 1 CPU を利用した場合,表\ref{table:fft_runtime}の 1 CPU を利用した場合と比較して約 0.8 倍の速度低下が見られる。これは各 Task に依存関係があり,交互に Task を割り振っているため CPU,GPU 間でのデータの転送が増えたことがネックになっていると考えられる。
 \subsection{Scheduling}
  Scheduling を行う際は、並列実行する Task を CPU と GPU で事前に一度実行し、実行速度を測定する。
 それぞれの実行速度の割合で重みをつけて Task を振り分けていく。