Mercurial > hg > Papers > 2017 > ikkun-thesis
changeset 5:dacb7180a8ff
fix
author | ikkun |
---|---|
date | Wed, 15 Feb 2017 19:19:28 +0900 |
parents | 51a7b7a26995 |
children | 0e12701e311c |
files | prepaper/midterm.tex |
diffstat | 1 files changed, 8 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/prepaper/midterm.tex Wed Feb 15 19:03:19 2017 +0900 +++ b/prepaper/midterm.tex Wed Feb 15 19:19:28 2017 +0900 @@ -54,19 +54,17 @@ Code Gear はプログラムの実行コードそのものであり、OpenCL\cite{opencl}/CUDA\cite{cuda} の kernel に相当する。 Code Gear は処理の基本として、 Input Data Gear を参照し、一つまたは複数の Output Data Gear に書き込む。また、接続された Data Gear 以外には参照を行わない。 -これは Alice の Input Data Segment と Output Data Segment の関係に対応しており、依存関係を解決し、 Code Segment の並列実行を可能とする。 - - -Code Gear はfunction callではないので、呼び出し元に戻る概念はない。 -その代わりに、次に実行する Code Gear を指定する機能(軽量継続)を持つ。 - -Data Gear は、int や文字列などの Primitive Data Type の組み合わせ -(struct)である。 +Input Data Gear と Output Data Gear の2つによって、Code Gear の Data に対す +る依存関係を解決し、 Code Gear の並列実行を可能とする。 +Code Gear はCbCを元に記述されており、処理の移行はfunction callではないので、呼び出し元に戻る概念はない。 +その代わりに、次に実行する Code Gear を軽量継続の goto で指定する。 +Data Gear は、int や文字列などの Primitive Data Type の組み合わせ(struct)\ +である。 Data Gearは様々な型を持つunionとして定義される。 - Gear の特徴の一つはその処理が Code Gear, Data Gear に閉じていることにある。 これにより、Code Gear の実行時間、メモリ使用量を予測可能なものにする。 - +\lstinputlisting[label=code_Gear&Data_Gear, caption=code_Gear&Data_Gear]{sr +c/sample.c} \section{Context} ある Code Gear は次に実行する Code Gear を名前で指定する。これを継続と いう。 @@ -84,17 +82,6 @@ \item Data Gear に格納される Data Type の情報 \end{itemize} -\section{Red Black Tree} -図\ref{fig:rb_tree}はRed Black Treeにおけるinsertとバランシングのアルゴリズムを表したものです。 -putした時、rootがあればNew Node をpushして空いているNodeにReplaceする。rootがなければinsertする。 -Red Black Treeのバランシングはバランスに必要な分Popで戻り、バランスさせる点まで来たらRoutateR RoutateLする。 -Routateは自分の今のNodeとParentとGrandPararentの3種類でroutateする。 -\begin{figure}[ht] - \centering - \includegraphics[width=70mm]{pic/rb_tree.pdf} - \caption{CbCでのRed Black Tree} - \label{fig:rb_tree} -\end{figure} \section{GPGPU} GPGPUとは画像処理に使われるGPUを画像処理以外で利用する技術である。 GPUはCPUに比べコア数が圧倒的に多く、単純な計算しかできないが並列処理において一度に大量の計算ができるため利用されている。 @@ -117,9 +104,6 @@ \label{fig:gpgpu} \end{figure} \section{今後の課題} - 今回、Gears OS のGPGPU処理についての基本的な設計と必要な機能の一部を紹介した。 -今後の課題としては、Gears OS による GPGPU処理を実装する。並列化処理に最適な Mappingをほどこす。Cerium、GearsでのMany CPU の並列化処理と比較しながら、GPGPU処理の測定、評価を行う。 - \begin{thebibliography}{10} \bibitem{cerium}