Mercurial > hg > Papers > 2008 > akira-ieice
changeset 9:a9f3e198cb96
*** empty log message ***
author | akira |
---|---|
date | Wed, 05 Mar 2008 19:23:59 +0900 |
parents | 34da095373ab |
children | baeefa4212db |
files | develop_process.tex doublebuffer.tex finally.tex |
diffstat | 3 files changed, 13 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/develop_process.tex Wed Mar 05 11:48:24 2008 +0900 +++ b/develop_process.tex Wed Mar 05 19:23:59 2008 +0900 @@ -14,9 +14,13 @@ 用いるが、このタスクマネージャはSPUの実行部分をシミュレーションしたタス クマネージャを使って、実装することができる。しかし、依存関係やSPUに送る データのサイズなどを考慮する必要があり、またタスクの中ではポインターを使 -うことができないなど多少の煩わしさがある。 +うことができないなど多少の煩わしさがある。実際のコードは次のようになる。 +\input{src/task.c} +create\_pp関数は図\ref{fig:Cerium_detail}のSceneGraphの実行コードである。入力は引数のSceneGraphPackで、ポリゴンの頂点が与えられる。また出力は引数のPolygonPackとなる。PolygonPackはポリゴンとなる。 -2から3へ移行するのはタスクマネージャのset\_cpuを用いることによって簡単に移行することが可能である。 +2から3へ移行するのはタスクマネージャのset\_cpuを用いることによって少量の変更で簡単に移行することが可能である。実行コードは次のようになる。 +\input{src/spe_task.c} +引数はすべてvoidで受け取る。またタスクマネージャに登録するときに入力データやサイズなどが記述されているので、入力データはそれを基にタスクマネージャが行っている。 4のCbCを用いた開発では改めて今まで書いてきたプログラムをCbCに書き直す作 業が待っている。しかし、CbCへの変換は今まで書いていたCのプログラムを逐次
--- a/doublebuffer.tex Wed Mar 05 11:48:24 2008 +0900 +++ b/doublebuffer.tex Wed Mar 05 19:23:59 2008 +0900 @@ -13,7 +13,7 @@ \label{fig:pipeline1} \end{figure} またタスクマネージャはPPUで実行するかSPUで実行するかを明示的に書くことができる。またSPUを使う場合は使うSPUの数を指定することができるようになる。 -そのため、ダブルバッファを利用した図\ref{fig:pipeline}のようなことができる可能性もある。 +そのため、ダブルバッファを利用した図\ref{fig:pipeline}のようなSceneGraphとCreate\_SPANとDRAWがパイプライン的に動作することができる可能性もある。またこれらの動作はそれぞれ内部でもパイプライン的に動作する。 \begin{figure}[htb] \begin{center} \includegraphics[scale=.5]{./fig/pipeline.pdf}
--- a/finally.tex Wed Mar 05 11:48:24 2008 +0900 +++ b/finally.tex Wed Mar 05 19:23:59 2008 +0900 @@ -1,10 +1,10 @@ \section{まとめ} -ここでは継続を基本とした言語CbCを使ってCellのようなマルチコアでの記述法 +本研究ではCから継続を基本とした言語CbCを使ってCellのようなマルチコアでの変換手法 について述べた。CbCは状態遷移を用いた記述になるので依存関係がはっきりし -ており、code-segment単位をタスクと考えることができる。code-segmentをスケ -ジューラをもちいることにより並列的に動作させることが可能となる。 +ており、code-segment単位をタスクと考えることができる。 -また、これらはシーケンシャルなアルゴリズムから並列計算に移行することが他 -の言語と比較して容易にできる。そのため、シーケンシャルな環境でのデバッグ -がそのまま並列分散のデバッグにもなる。 +そのためシーケンシャルなアルゴリズムから並列計算に移行することが他 +の言語と比較して容易にできる。 +またcode-segmentはスケジューラをもちいることにより並列的に動作させることが可能となる。 +そのため、シーケンシャルな環境でのデバッグがそのまま並列分散のデバッグにもなる。