changeset 48:87c3ca104689

Fix
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Tue, 06 Feb 2018 06:29:31 +0900
parents 7ddbad0c4b5d
children 8da33c7967ee
files paper/evaluation.tex paper/gpu.tex paper/master_paper.pdf
diffstat 3 files changed, 4 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/paper/evaluation.tex	Tue Feb 06 04:11:42 2018 +0900
+++ b/paper/evaluation.tex	Tue Feb 06 06:29:31 2018 +0900
@@ -43,7 +43,7 @@
 これは要素毎に Task を生成するとその分の Context を生成するために時間を取ってしまうからである。
 
 GPU での実行は データ並列を使用して行う。
-GPU でデータ並列を実行する場合は Context とコピーなどは発生しないため、1要素に1スレッドを割り振って実行を行う。
+1次元
 
 Twice は並列実行の依存関係もなく、データ並列での実行に適した課題である。
 そのため、 通信時間を考慮しなければ CPU よりコア数が多い GPU が有利となる。
--- a/paper/gpu.tex	Tue Feb 06 04:11:42 2018 +0900
+++ b/paper/gpu.tex	Tue Feb 06 06:29:31 2018 +0900
@@ -49,14 +49,13 @@
 受け取ったデータ並列用の Task は Code Gear のメタレベルで kernel の実行を行う。
 
 \section{CUDAExectuor}
-CUDAExectuor は \coderef{executorInterface} を実装しており、 Host から Device へのデータの送信(read)、 kernel の実行(exec)、 Device から Host への データの書き出しを行う(write)。
+CUDAExectuor は \coderef{executorInterface} に示す ExecutorInterfaceを実装しており、 Host から Device へのデータの送信(read)、 kernel の実行(exec)、 Device から Host への データの書き出しを行う(write)。
 
 \lstinputlisting[caption=executor Inteface, label=code:executorInterface]{./src/executorInterface.h}
 
 Gears OS では データは Data Gear で表現される。
 つまり、Host、Device 間でデータのやり取りを行うということは Data Gear を GPU のデータ領域に沿った形に適用する必要がある。
-Host から Device へデータを送信する際、 CUDA では cuMemAlloc 関数を使用して Device 側のデータ領域を確保する。
-cuMemAlloc 関数には確保するデータ領域のサイズを指定する必要がある。
+Host から Device へデータを送信する際、 CUDA では cuMemAlloc 関数を使用してサイズを指定し、Device 側のデータ領域を確保する。
 全ての Data Gear には Meta Data Gear として Data Gear のサイズを持っており、基本的にはこのサイズでデータ領域を取ればよい。
 しかし、Data Gear によっては内部に更にポインタで Data Gear を持っている場合がある。
 このような Data Gear は Data Gear の実際のサイズではなく、ポインタのサイズで計算されてしまうため、そのままでは Device 用のデータ領域を確保することができない。
@@ -84,14 +83,7 @@
 
 kernel の実行はcuLaunchKernel 関数で行われる。
 cuLaunchKernel 関数には引数として各次元のblockサイズ、thread サイズ、kernel への引数等を渡す。
-
-実際にcuLaunchKernel 関数を使用している部分を \coderef{cuLaunchKernel} に示す。
-
-\newpage
-
-\lstinputlisting[caption=kernel の起動, label=code:cuLaunchKernel]{./src/cuLaunchKernel.cbc}
-
-Gears OS ではデータ並列 Task の際は Iterator Interface を持っており、 そこで指定した長さ、次元数に応じて cuLaunchKernel の引数を決定する(\coderef{cuLaunchKernel} 11-18行目)。
+Gears OS ではデータ並列 Task の際は Iterator Interface を持っており、 そこで指定した長さ、次元数に応じて cuLaunchKernel の引数を決定する。
 
 % 少ないけどコードはなるべく載せたくない(メタ部分 + 複雑)
 \section{stub Code Gear による kernel の実行}
Binary file paper/master_paper.pdf has changed