Mercurial > hg > Papers > 2008 > gongo-ess
changeset 9:cb1b97f81a4b
*** empty log message ***
author | gongo |
---|---|
date | Mon, 14 Jul 2008 21:20:19 +0900 |
parents | 6fb31d97a288 |
children | 1d3cd0c9eddb |
files | dev.tex figure/sort.bb figure/sort_q.bb figure/sort_q.graffle figure/sort_q.pdf student.tex |
diffstat | 6 files changed, 21 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/dev.tex Mon Jul 14 21:00:17 2008 +0900 +++ b/dev.tex Mon Jul 14 21:20:19 2008 +0900 @@ -14,7 +14,7 @@ \item C によるシーケンシャルな実装 \label{list_dev1} \item 並列実行を考慮したデータ構造を持つ実装 \label{list_dev2} \item コードを分割し、シーケンシャルに実行する実装 \label{list_dev3} -\item タスクを並列実行する実装 \label{list_dev4} +\item 分割したコードを並列実行する実装 \label{list_dev4} \end{enumerate} @@ -22,7 +22,7 @@ プログラムのアルゴリズムの信頼性を確認するために用いる。 段階 (\ref{list_dev2}) ではコードを分割した際、 -そのタスクが使用できるようなデータの変換が必要になり、 +そのコードが使用できるようなデータ構造への変換が必要になり、 段階 (\ref{list_dev1}) と同じ結果を得られるかどうかを検証する。 段階 (\ref{list_dev3}) の実装では、並列実行を意識した @@ -34,8 +34,8 @@ 段階 (\ref{list_dev4}) の実装では、段階 (\ref{list_dev3} で分割したコードを 実際に並列に動かす。段階 (\ref{list_dev3}) までが動いていれば 問題なく動作すると期待される。 -問題が発生した場合、その原因と思われるタスクを見つけ、 -一度段階 (\ref{list_dev3}) に戻した後、前後のタスクと合わせて +問題が発生した場合、その原因と思われる部分を見つけ、 +一度段階 (\ref{list_dev3}) に戻した後、前後のコードと合わせて 入出力データのチェックなどのテストしていくことが必要となる。 %段階 (\ref{list_dev3}) から 段階 (\ref{list_dev4}) へのプログラムの変換は
--- a/figure/sort.bb Mon Jul 14 21:00:17 2008 +0900 +++ b/figure/sort.bb Mon Jul 14 21:20:19 2008 +0900 @@ -1,5 +1,5 @@ %%Title: ./sort.pdf %%Creator: ebb Version 0.5.2 (+ArtBox) %%BoundingBox: 0 0 360 252 -%%CreationDate: Mon Jul 14 17:20:40 2008 +%%CreationDate: Mon Jul 14 21:07:05 2008
--- a/figure/sort_q.bb Mon Jul 14 21:00:17 2008 +0900 +++ b/figure/sort_q.bb Mon Jul 14 21:20:19 2008 +0900 @@ -1,5 +1,5 @@ %%Title: ./sort_q.pdf %%Creator: ebb Version 0.5.2 (+ArtBox) -%%BoundingBox: 0 0 531 642 -%%CreationDate: Mon Jul 14 17:53:46 2008 +%%BoundingBox: 0 0 531 583 +%%CreationDate: Mon Jul 14 21:07:01 2008
--- a/student.tex Mon Jul 14 21:00:17 2008 +0900 +++ b/student.tex Mon Jul 14 21:20:19 2008 +0900 @@ -59,6 +59,7 @@ このソートプログラムの実行速度を、 SPE の個数を変えて出力した (\figref{fig:sort})。 +理論値にはおよばないものの、充分な台数効果が出ていると言える。 \begin{figure}[tb] \begin{center} @@ -68,3 +69,16 @@ \end{center} \end{figure} +\subsection{総評} +学生の反応で多かったのは、シーケンシャルプログラムから並列プログラムへ +変換する際に、データやコードの分割を行うのに苦労していたことだ。 +分割したデータ構造の設計や使用方法が +シーケンシャルなプログラミングとは違うためだと考えられる。 +並列処理の経験が浅いプログラマに対しては、コードやデータの分割に際して、 +何らかの雛形が必要であると言える。 + +また、DMA 時のアライメントの問題や、SPE での PPE のアドレスの扱い等、 +Cell の仕様に関する問題も起きた。 +そういった意見を反映し、環境仕様は Task Manager 側で、意識しないように +ある程度は実装しているが、タスクの最適化を含め、 +プログラマ自身がターゲットアーキテクチャの仕様を学ぶ必要があるだろう。