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
 
Binary file figure/sort_q.graffle has changed
Binary file figure/sort_q.pdf has changed
--- 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 側で、意識しないように
+ある程度は実装しているが、タスクの最適化を含め、
+プログラマ自身がターゲットアーキテクチャの仕様を学ぶ必要があるだろう。