changeset 8:0789faebeac1

fix
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Mon, 09 Feb 2009 17:59:31 +0900
parents 6b06734f1b3a
children df0056a7b95d
files paper/cerium.tex paper/compare.tex paper/images/amdahl.bb paper/images/cell_arch.bb paper/images/cell_mailbox.bb paper/images/cell_ppe.bb paper/images/cell_simd.bb paper/images/cell_spe.bb paper/images/cell_spurs_pipeline.bb paper/images/cell_spurs_task.bb paper/images/cerium_rendering_draw_span.bb paper/images/cerium_rendering_half.bb paper/images/cerium_rendering_spack.bb paper/images/cerium_rendering_span.bb paper/images/cerium_rendering_span_tex.bb paper/images/cerium_rendering_tex_tapestry.bb paper/images/cerium_rendering_tile.bb paper/images/cerium_sg_create.bb paper/images/cerium_sg_createlist.bb paper/images/cerium_sg_example.bb paper/images/cerium_sg_tree.bb paper/images/cerium_task.bb paper/images/cp_opencl_plat.bb paper/images/cp_opencl_plat.graffle paper/images/cp_opencl_plat.pdf paper/images/manycore_data_split.bb paper/images/manycore_step.bb paper/images/tm_scheduler.bb paper/images/tm_scheduler.graffle paper/images/tm_scheduler.pdf paper/images/tm_sm_global.bb paper/images/tm_sm_pipeline_wait.bb paper/images/tm_sm_pipeline_wait.graffle paper/images/tm_sm_pipeline_wait.pdf paper/images/tm_sm_rbuf.bb paper/images/tm_sm_state.bb paper/images/tm_sm_wbuf.bb paper/images/tm_sort.bb paper/images/tm_sort_calc.bb paper/images/tm_sort_calc1m.bb paper/images/tm_sort_calc1m.pdf paper/images/tm_sort_calc1m.plt paper/images/tm_sort_calc1m.txt paper/images/tm_sync.bb paper/images/tm_task_depend.bb paper/images/tm_task_depend.graffle paper/images/tm_task_depend.pdf paper/images/tm_task_post.bb paper/images/tm_task_struct.bb paper/master_paper.bib paper/taskmanager.tex
diffstat 51 files changed, 353 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/paper/cerium.tex	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/cerium.tex	Mon Feb 09 17:59:31 2009 +0900
@@ -210,7 +210,7 @@
 
 \begin{table}[htb]
   \begin{center}
-    \caption{SceneGraphRoot API} \label{tab:cerium_sg_api}
+    \caption{SceneGraph API} \label{tab:cerium_sg_api}
     \hbox to\hsize{\hfil
       \begin{tabular}{l|l} \hline \hline
         addChild(SceneGraph*) & 自身に子を追加する \\ \hline
--- a/paper/compare.tex	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/compare.tex	Mon Feb 09 17:59:31 2009 +0900
@@ -1,1 +1,51 @@
 \chapter{比較} \label{chapter:compare}
+
+ここでは
+
+\section{OpenCL}
+
+OpenCL (Open Computing Language) \cite{opencl} とは、
+マルチコアCPU や GPU、その他のプロセッサによる、
+ヘテロジニアスコンピューティングのフレームワークである。
+OpenCL C プログラミング言語は ISO/IEC 9899:1999 (C99) 規格を
+ベースとしている。
+
+
+OpenCL のプラットフォームモデルは \figref{cp_opencl_plat} のようになり、
+一つの Host と複数の OpenCL Device で構成されている。
+OpenCL devices の中では Compute Units (CUs) として分割され、その中でさらに
+Processing Elements (PEs) として分割される。
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.7]{images/cp_opencl_plat.pdf}
+    \caption{OpenCL Platform}
+    \label{fig:cp_opencl_plat}
+  \end{center}
+\end{figure}
+
+OpenCL アプリケーションでは、実行する処理 command が Host から 
+PEs へ送られる。PEs では SIMD (Single Instruction Multiple Data)
+もしくは SPMD (Single Program Multiple Data) で実行される。
+
+OpenCL devices や Host には kernel があり、Host kernel では
+OpenCL devices context や実行 command の管理、Opencel devies kernel では
+Host から送られて来た実行 command の処理を行う。
+Host は OpenCL devices での kernel の実行を調整するために、
+command-queue を生成し context へ渡す。
+command-queue には以下の command がある。
+
+\begin{itemize}
+\item Kernel execution commands \\
+  実行コマンド queue
+\item Memory commands \\
+  データの送受信に関する情報(Host アドレス空間)
+\item Synchronization commands \\
+  command の依存や同期等に関する情報
+\end{itemize}
+
+また、OpenCL Device は4つの違うメモリ領域(Global Memory、Constant Memory、
+Local Memory、Private Memory)を持ち、それぞれ Host や CUs、PEs からの
+アクセス権限が異なる (アドレス空間が異なる)。
+
+プログラミングモデルとしては、データ並列、タスク並列をサポートしている。
--- a/paper/images/amdahl.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/amdahl.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./amdahl.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 360 252
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cell_arch.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cell_arch.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cell_arch.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 505 339
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cell_mailbox.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cell_mailbox.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cell_mailbox.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 514 342
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cell_ppe.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cell_ppe.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cell_ppe.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 370 327
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cell_simd.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cell_simd.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cell_simd.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 402 261
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cell_spe.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cell_spe.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cell_spe.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 380 340
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cell_spurs_pipeline.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cell_spurs_pipeline.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cell_spurs_pipeline.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 533 187
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cell_spurs_task.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cell_spurs_task.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cell_spurs_task.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 507 229
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_rendering_draw_span.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_rendering_draw_span.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_rendering_draw_span.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 591 313
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_rendering_half.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_rendering_half.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_rendering_half.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 372 274
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_rendering_spack.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_rendering_spack.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_rendering_spack.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 533 319
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_rendering_span.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_rendering_span.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_rendering_span.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 413 247
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_rendering_span_tex.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_rendering_span_tex.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_rendering_span_tex.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 408 420
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_rendering_tex_tapestry.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_rendering_tex_tapestry.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_rendering_tex_tapestry.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 563 305
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_rendering_tile.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_rendering_tile.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_rendering_tile.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 510 385
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_sg_create.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_sg_create.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_sg_create.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 487 228
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_sg_createlist.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_sg_createlist.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_sg_createlist.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 557 496
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_sg_example.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_sg_example.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_sg_example.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 625 466
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_sg_tree.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_sg_tree.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_sg_tree.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 425 274
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/cerium_task.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/cerium_task.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./cerium_task.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 470 535
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/cp_opencl_plat.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./cp_opencl_plat.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 510 237
+%%CreationDate: Mon Feb  9 17:47:56 2009
+
Binary file paper/images/cp_opencl_plat.graffle has changed
Binary file paper/images/cp_opencl_plat.pdf has changed
--- a/paper/images/manycore_data_split.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/manycore_data_split.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./manycore_data_split.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 587 154
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/manycore_step.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/manycore_step.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./manycore_step.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 549 335
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/tm_scheduler.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_scheduler.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_scheduler.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
-%%BoundingBox: 0 0 517 492
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%BoundingBox: 0 0 517 562
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
Binary file paper/images/tm_scheduler.graffle has changed
Binary file paper/images/tm_scheduler.pdf has changed
--- a/paper/images/tm_sm_global.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_sm_global.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_sm_global.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 523 364
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/tm_sm_pipeline_wait.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./tm_sm_pipeline_wait.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 395 213
+%%CreationDate: Mon Feb  9 17:47:56 2009
+
Binary file paper/images/tm_sm_pipeline_wait.graffle has changed
Binary file paper/images/tm_sm_pipeline_wait.pdf has changed
--- a/paper/images/tm_sm_rbuf.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_sm_rbuf.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_sm_rbuf.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 405 225
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/tm_sm_state.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_sm_state.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_sm_state.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 370 342
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/tm_sm_wbuf.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_sm_wbuf.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_sm_wbuf.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 505 487
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/tm_sort.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_sort.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_sort.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 553 371
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/tm_sort_calc.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_sort_calc.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_sort_calc.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 360 216
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/tm_sort_calc1m.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./tm_sort_calc1m.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 360 216
+%%CreationDate: Mon Feb  9 17:47:56 2009
+
Binary file paper/images/tm_sort_calc1m.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/tm_sort_calc1m.plt	Mon Feb 09 17:59:31 2009 +0900
@@ -0,0 +1,148 @@
+#!/opt/local/bin/gnuplot -persist
+#
+#    
+#    	G N U P L O T
+#    	Version 4.2 patchlevel 4 
+#    	last modified Sep 2008
+#    	System: Darwin 9.6.0
+#    
+#    	Copyright (C) 1986 - 1993, 1998, 2004, 2007, 2008
+#    	Thomas Williams, Colin Kelley and many others
+#    
+#    	Type `help` to access the on-line reference manual.
+#    	The gnuplot FAQ is available from http://www.gnuplot.info/faq/
+#    
+#    	Send bug reports and suggestions to <http://sourceforge.net/projects/gnuplot>
+#    
+# set terminal aqua 0 title "Figure 0" size 846 594 font "Times-Roman,14" noenhanced solid
+# set output 'tm_sort_calc1m.pdf'
+unset clip points
+set clip one
+unset clip two
+set bar 1.000000
+set border 31 front linetype -1 linewidth 1.000
+set xdata
+set ydata
+set zdata
+set x2data
+set y2data
+set timefmt x "%d/%m/%y,%H:%M"
+set timefmt y "%d/%m/%y,%H:%M"
+set timefmt z "%d/%m/%y,%H:%M"
+set timefmt x2 "%d/%m/%y,%H:%M"
+set timefmt y2 "%d/%m/%y,%H:%M"
+set timefmt cb "%d/%m/%y,%H:%M"
+set boxwidth
+set style fill  empty border
+set style rectangle back fc lt -3 fillstyle  solid 1.00 border -1
+set dummy x,y
+set format x "% g"
+set format y "% g"
+set format x2 "% g"
+set format y2 "% g"
+set format z "% g"
+set format cb "% g"
+set angles radians
+unset grid
+set key title ""
+set key inside right top vertical Right noreverse enhanced autotitles nobox
+set key noinvert samplen 4 spacing 1 width 0 height 0 
+unset label
+unset arrow
+set style increment default
+unset style line
+unset style arrow
+set style histogram clustered gap 2 title  offset character 0, 0, 0
+unset logscale
+set offsets 0, 0, 0, 0
+set pointsize 1
+set encoding default
+unset polar
+unset parametric
+unset decimalsign
+set view 60, 30, 1, 1
+set samples 100, 100
+set isosamples 10, 10
+set surface
+unset contour
+set clabel '%8.3g'
+set mapping cartesian
+set datafile separator whitespace
+unset hidden3d
+set cntrparam order 4
+set cntrparam linear
+set cntrparam levels auto 5
+set cntrparam points 5
+set size ratio 0 1,1
+set origin 0,0
+set style data points
+set style function lines
+set xzeroaxis linetype -2 linewidth 1.000
+set yzeroaxis linetype -2 linewidth 1.000
+set zzeroaxis linetype -2 linewidth 1.000
+set x2zeroaxis linetype -2 linewidth 1.000
+set y2zeroaxis linetype -2 linewidth 1.000
+set ticslevel 0.5
+set mxtics default
+set mytics default
+set mztics default
+set mx2tics default
+set my2tics default
+set mcbtics default
+set xtics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set xtics autofreq 
+set ytics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set ytics autofreq 
+set ztics border in scale 1,0.5 nomirror norotate  offset character 0, 0, 0
+set ztics autofreq 
+set nox2tics
+set y2tics border in scale 1,0.5 nomirror norotate  offset character 0, 0, 0
+set y2tics 200.000,200
+set cbtics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set cbtics autofreq 
+set title "SPEs number effect" 
+set title  offset character 0, 0, 0 font "" norotate
+set timestamp bottom 
+set timestamp "" 
+set timestamp  offset character 0, 0, 0 font "" norotate
+set rrange [ * : * ] noreverse nowriteback  # (currently [0.00000:10.0000] )
+set trange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set urange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set vrange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set xlabel "SPE NUM" 
+set xlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set x2label "" 
+set x2label  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set xrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set x2range [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set ylabel "effect" 
+set ylabel  offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90
+set y2label "time(sec)" 
+set y2label  offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90
+set yrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set y2range [ 200.000 : 1100.00 ] noreverse nowriteback
+set zlabel "" 
+set zlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set zrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set cblabel "" 
+set cblabel  offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90
+set cbrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set zero 1e-08
+set lmargin  -1
+set bmargin  -1
+set rmargin  -1
+set tmargin  -1
+set locale "C"
+set pm3d explicit at s
+set pm3d scansautomatic
+set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean
+set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB 
+set palette rgbformulae 7, 5, 15
+set colorbox default
+set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault
+set loadpath 
+set fontpath 
+set fit noerrorvariables
+GNUTERM = "aqua"
+p 'tm_sort_calc1m.txt' using 1:3 title 'number effect' with lines, 'tm_sort_calc1m.txt' using 1:2 title 'sort time' axes x1y2 with lines
+#    EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/tm_sort_calc1m.txt	Mon Feb 09 17:59:31 2009 +0900
@@ -0,0 +1,6 @@
+1 1080.842031 1
+2  557.823441 1.937605
+3  383.732214 2.816657
+4  295.992751 3.651582
+5  243.952017 4.430551
+6  209.308946 5.163859
\ No newline at end of file
--- a/paper/images/tm_sync.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_sync.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_sync.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 577 554
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/tm_task_depend.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -0,0 +1,5 @@
+%%Title: ./tm_task_depend.pdf
+%%Creator: ebb Version 0.5.2 (+ArtBox)
+%%BoundingBox: 0 0 527 383
+%%CreationDate: Mon Feb  9 17:47:56 2009
+
Binary file paper/images/tm_task_depend.graffle has changed
Binary file paper/images/tm_task_depend.pdf has changed
--- a/paper/images/tm_task_post.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_task_post.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_task_post.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 335 388
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/images/tm_task_struct.bb	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/images/tm_task_struct.bb	Mon Feb 09 17:59:31 2009 +0900
@@ -1,5 +1,5 @@
 %%Title: ./tm_task_struct.pdf
 %%Creator: ebb Version 0.5.2 (+ArtBox)
 %%BoundingBox: 0 0 591 364
-%%CreationDate: Sat Feb  7 11:08:56 2009
+%%CreationDate: Mon Feb  9 17:47:56 2009
 
--- a/paper/master_paper.bib	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/master_paper.bib	Mon Feb 09 17:59:31 2009 +0900
@@ -124,4 +124,10 @@
 author = "",
 title = "{SDL\_image}",
 howpublished = "{http://www.libsdl.org/projects/SDL\_image/}"
-}
\ No newline at end of file
+}
+
+@manual{opencl,
+author = "{Aaftab Munshi, Khronos OpenCL Working Group}",
+title ="{The OpenCL Specification Version 1.0}",
+year = 2007
+}
--- a/paper/taskmanager.tex	Sat Feb 07 11:10:54 2009 +0900
+++ b/paper/taskmanager.tex	Mon Feb 09 17:59:31 2009 +0900
@@ -213,7 +213,20 @@
 HTask *task = manager->create_task(ID);
 \end{verbatim}
 
-このタスクに渡す入力として、add\_inData と add\_param がある。
+Task ID とは、各タスクに割り振られたグローバルIDである。
+通常の逐次型プログラムでは、タスクを選択して実行する場合、
+その関数ポインタを指定して実行すればいい。
+しかし Cell の場合、PPE と SPE 上ではアドレス空間が異なるため、
+SPE 上で実行されるタスクをメインスレッドから直接アドレス指定
+することはできない。
+そこで、タスク毎に ID を割り振り、その ID から、
+SPE 上にある Task が格納された配列を参照して実行する。
+この処理が \figref{tm_task_struct} の (2) にあたる。
+
+
+\subsection{Task の入出力}
+
+タスクに渡す入力として、add\_inData と add\_param がある。
 
 \verb+add_inData(addr, size)+ は、タスクに渡すデータのアドレスと、
 そのデータのサイズを引数として入力する。
@@ -239,9 +252,19 @@
 \end{verbatim}
 
 このとき、task1 は ActiveQueue へ、task2 は WaitQueue へ格納される。
-各 CPU は、タスクが終了したらメインスレッド(PPE) へタスク終了のコマンドを
+ActiveQueue から 各 CPU へタスクが割り振られ、
+タスクが終了したらメインスレッドへタスク終了のコマンドを
 発行する。メインスレッドはそれを受け取り、WaitQueue のタスクを調べ、
-タスク依存を満たしたタスクを ActiveQueue に移し替える。
+タスク依存を満たしたタスクを ActiveQueue に移し替える
+(\figref{tm_task_depend})。
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.7]{./images/tm_task_depend.pdf}
+  \end{center}
+  \caption{Task の依存関係の解決}
+  \label{fig:tm_task_depend}
+\end{figure}
 
 wait\_for は複数のタスクを指定でき、以下の場合は、
 task3 が task1、task2 の二つのタスク終了を待つ形となる。
@@ -325,11 +348,12 @@
 
 生成された Task にしたがって、実際のタスクを実行するのがスケジューラである。
 スケジューラは、メインスレッドで生成された TaskList を受け取り、
-その中にある Task をパイプラインに沿って実行していく (\figref{tm_scheduler}) 。
+その中にある Task をパイプラインに沿って、ステージを遷移しながら
+実行していく。(\figref{tm_scheduler}) 。
 
 \begin{figure}[htb]
   \begin{center}
-    \includegraphics[scale=0.8]{images/tm_scheduler.pdf}
+    \includegraphics[scale=0.72]{images/tm_scheduler.pdf}
     \caption{スケジューラ}
     \label{fig:tm_scheduler}
   \end{center}
@@ -352,9 +376,30 @@
 } while (task1);
 \end{verbatim}
 
-このパイプラインでは、実際に三つの task が同時に動作しているわけではない。
+%このパイプラインでは、実際に三つの task が同時に動作しているわけではない。
+
 read() や write() での DMA 待ちの間に、exec() を行うことで
-DMA の待ち時間を隠蔽することを目的としている。
+DMA の待ち時間を隠蔽することができる。
+しかし、各ステージの終了のタイミングによっては
+待ちが入ってしまう場合がある (\figref{tm_sm_pipeline_wait})。
+
+\begin{figure}[htb]
+  \begin{center}
+    \includegraphics[scale=0.9]{images/tm_sm_pipeline_wait.pdf}
+    \caption{パイプラインの待ち時間の発生}
+    \label{fig:tm_sm_pipeline_wait}
+  \end{center}
+\end{figure}
+
+step 1 では全てのステージが同じタイミングで終了しているが、
+step 2 では、read() 以外は早く終わり、step 3 では
+exec() 以外が早く終わっている。このことにより、早くに終了したステージには
+待ち時間が入ってしまい、結果として並列度が下がってしまう。
+
+待ち時間を減らすには、早く終わったステージの余った時間を
+他のタスクに割り当てたり、終了するタイミングが同じタスクが
+同時に実行されるようなスケジューリングが必要となる。
+現在の TaskManager には実装されていない。
 
 TaskList にある Task が全て終了し、メインスレッドから終了のメッセージを
 受け取ったら、 task1 は NULL となり、while 文を抜ける。
@@ -467,7 +512,7 @@
 
 \begin{figure}[htb]
   \begin{center}
-    \includegraphics[scale=0.8]{images/tm_sm_rbuf.pdf}
+    \includegraphics[scale=0.7]{images/tm_sm_rbuf.pdf}
     \caption{add\_inData による rbuf の構造}
     \label{fig:tm_sm_rbuf}
   \end{center}
@@ -498,23 +543,45 @@
 \begin{figure}[htb]
   \begin{center}
     \includegraphics[scale=0.8]{images/tm_sm_wbuf.pdf}
-    \caption{add\_onData による rbuf の構造}
+    \caption{add\_outData による rbuf の構造}
     \label{fig:tm_sm_wbuf}
   \end{center}
 \end{figure}
 
-wbuf から対応するバッファを取得するには以下の様に記述する。
+wbuf から対応するバッファを取得し、add\_outData で指定した領域に
+書き込むには以下の様に記述する。
 
 \begin{verbatim}
-int *out = (int*)smanager->get_output(id);
+// メインスレッド
+int *data = new data[10];
+
+task->add_outData(data, sizeof(int)*10);
+task->add_param(10);
+
+// CPU スレッド
+int *out = (int*)smanager->get_output(0); // data
+int size = smanager->get_param(0); // 10
 
 for (int i = 0 ; i < size; i++) {
-    out[i] = i;
+    out[i] = i*i;
 }
+
+// 実行結果
+% ./a.out
+data[0] = 0;
+data[1] = 1;
+data[2] = 4;
+data[3] = 9;
+data[4] = 16;
+data[5] = 25;
+data[6] = 36;
+data[7] = 49;
+data[8] = 64;
+data[9] = 81;
 \end{verbatim}
 
-タスク終了後、out に該当するメインメモリの領域が
-out と同じ値になっている。
+タスク終了後、out に書き込まれた値が、out に対応する
+メインメモリの data に DMA 転送される。
 
 \subsection{タスク間の共用領域} \label{sec:tm_sm_global}
 
@@ -677,21 +744,21 @@
 この手法では、各ブロックのソートを独立して行えるため、
 他タスクとの待ち合わせの回数を最小限に抑えることが出来る。
 
-このプログラムを、使用する SPE の個数を 1から6に変化させて、その
-実行速度を計測した (\figref{tm_sort_calc} ) 。
-今回はソートする整数の数は 10 万とした。
-横軸が使用した SPE の数、縦が、SPE 1個の時の実行結果を 1 をしたときの
-台数効果である。
+このプログラムを、使用する SPE の個数を 1から6に変化させ、それぞれ
+実行速度を計測した (\figref{tm_sort_calc}) 。
+今回はソートする整数の数は 100 万とした。
+横軸が使用した SPE の数、左縦軸が、SPE 1個の時の実行結果を 1 をしたときの
+台数効果、右縦軸が実行時間(sec) である。
 
 \begin{figure}[htb]
   \begin{center}
-    \includegraphics[scale=1.2]{images/tm_sort_calc.pdf}
+    \includegraphics[scale=1.2]{images/tm_sort_calc1m.pdf}
     \caption{Sort 実験結果}
     \label{fig:tm_sort_calc}
   \end{center}
 \end{figure}
 
-SPE 6個の台数効果が 5.6 となり、理論値にはおよばないものの、
+SPE 6個の台数効果が 5.1 となり、理論値にはおよばないものの、
 充分な台数効果が出ていると言える。
 
 \subsection{画像の拡大縮小回転、色の変換}