Mercurial > hg > Members > kokubo > 2013-mid-thesis
changeset 3:423b4d15e248
fix
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 06 Nov 2013 20:31:56 +0900 |
parents | b7c8a956c10b |
children | 8c37fee42142 |
files | paper/bibliography.tex paper/cerium.tex paper/data_parallel.tex paper/introduction.tex paper/ipsj.tex |
diffstat | 5 files changed, 12 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/bibliography.tex Wed Nov 06 01:16:42 2013 +0900 +++ b/paper/bibliography.tex Wed Nov 06 20:31:56 2013 +0900 @@ -8,7 +8,7 @@ {Daichi TOMA and Shinji KONO}:Cerium Task Manager におけるマルチコア上での並列実行機構の実装(2012) \bibitem{gongo:2008a} -{nd Shinji KONO}:Cerium Task Manager におけるマルチコア上での並列実行機構の実装(2012) +{Wataru Miyaguni and Shinji KONO}:Cell 用の Fine-grain Task Manager の実装(2008) \bibitem{opencl:ref} {Aaftab Munshi, Khronos OpenCL Working Group}:The OpenCL Specification Version 1.0 (2007)
--- a/paper/cerium.tex Wed Nov 06 01:16:42 2013 +0900 +++ b/paper/cerium.tex Wed Nov 06 20:31:56 2013 +0900 @@ -1,9 +1,8 @@ \section{Cerium における Task の生成}\label{section:cerium} Cerium では,user が createtask を行い、input data や依存関係の設定し spawn を行うと TaskManager で Task が生成される。 spawn の代わりに新たに用意した iterate を利用することで,Data 並列実行を行う Task として登録される。 -Task 毎に依存関係を表す wait\_i と wait\_me というリストがあり、依存関係が解消されて実行可能になった -Task は ActiveTaskList に移される。さらに、Scheduler に転送しやすい TaskList に変換してから各 Scheduler に -転送される。 +Task の依存関係が解消されて実行可能になった Task は ActiveTaskList に移される。 +さらに、Scheduler に転送しやすい TaskList に変換してから Task Manager から各 Scheduler に転送される。 以下に Data 並列実行を行う Task を生成する例題を示す。 input data を二つ用意し、 input 同士を乗算し、 output に格納する multiply という例題となる。
--- a/paper/data_parallel.tex Wed Nov 06 01:16:42 2013 +0900 +++ b/paper/data_parallel.tex Wed Nov 06 20:31:56 2013 +0900 @@ -48,7 +48,6 @@ \end{tabular} \end{center} \end{table} - \end{tiny} この実装により,Cerium で Data 並列実行が可能になった。 並列プログラミングだと,並列化する Task が全部同一であるという事は少なくない。
--- a/paper/introduction.tex Wed Nov 06 01:16:42 2013 +0900 +++ b/paper/introduction.tex Wed Nov 06 20:31:56 2013 +0900 @@ -1,6 +1,7 @@ \section{研究の目的} 当研究室では Cell および Linux,Mac OS X 上で動く並列プログラミングフレームワーク Cerium Task Manager \cite{gongo:2008a}の開発・改良を行っている。 いままで Ceruim Task Mnager では,関数やサブルーチンを一つの Task として Queue に登録し並列実行を行ってきた。 -しかし,この方法では大量の Data を処理するために,渡す Data を変更しながら同一の Task をループで何度も生成する必要がある。 -また,一度に大量の Task を生成すると Memory が足りなくなり Swap が起こるという問題があった。 -当研究では,これらの問題を解決するため Data 並列実行のための API を実装し,fft について実行速度を測定し考察を行う。 +今回,例題として用いた fft のように大量の Data を処理するには,大量の Task を生成する必要がある。 +大量の Task を一度に生成すると Memory が足りなくなり Swap を引き起こしてしまい Task を実行することができなくなる。また,大量の Task を作ることによるオーバーヘッドも問題になってくる。 +当研究では,これらの問題を解決するため OpenCL の API に合わせた Data 並列実行のための API を実装を行う。 +例題として fft を用い実行速度を測定し,さらなる性能向上について考察する。
--- a/paper/ipsj.tex Wed Nov 06 01:16:42 2013 +0900 +++ b/paper/ipsj.tex Wed Nov 06 20:31:56 2013 +0900 @@ -21,8 +21,11 @@ % 和文概要 \begin{abstract} Cerium Task Managerは並列プログラミングフレームワークである。 - 今回,MultiCore CPU での Data 並列実行を行うために iterate という API を用意した。 - この API を用いて fft を実装し,benchmark を取り,結果から iterate の性能と問題について考察を行った。 + OpenCL を用いて Cerium の演算資源として GPU を利用を可能した。 + OpenCL で十分な並列度を得るには,Data 並列による実行をサポートする必要がある。 + 今回,Cerium での Data 並列による実行をするために OpenCL の API に合わせた iterate という API を Cerium に用意した。 + OpenCL の Data 並列実行の例題である fft を Cerium で実行可能な Task に記述しなおし実装した。 + iterate の性能と問題を fft の benchmark から考察する。 \end{abstract} % 表題などの出力