Mercurial > hg > Members > kono > Cerium
diff example/word_count/README @ 946:a8b6ee80c108
unify word count examples....
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 01 Aug 2010 21:05:35 +0900 |
parents | 72b73beb3325 |
children |
line wrap: on
line diff
--- a/example/word_count/README Sun Aug 01 19:29:27 2010 +0900 +++ b/example/word_count/README Sun Aug 01 21:05:35 2010 +0900 @@ -1,59 +1,19 @@ -/* - * $Id: README,v 1.3 2008/10/20 08:49:52 gongo Exp $ - */ -- 概要 -Task の依存関係を設定する例題 - -タスクは二種類あって - -配列 idata があるとする (サイズは length*2) +word count -Exec: idata を length の前後に分けて受け取り、各要素に値を加算 - 半分に分けるため、今回はこのタスクを 2 つに固定。 - まあ3つ以上でもいいんだけどね。 - -Print: idata を表示する。 - + 16 16 16 + |------|------|------|------|------|------|------|------| -依存関係としては、まずは Exec を先に実行しないといけないので - -------------> 時間 - -Exec 1 - \ - Print - / -Exec 2 +荐絎茵 + /\/\/\/\ + \/\/\/\/ +patter c障 -みたいな感じ。 -この依存を設定しないと、Print は Exec1,2 が計算する前の -idata を詠んでしまう可能性がある。 - - -- 実行方法 - -% ./dependency [-cpu spe_num] [-nodepend] - - -cpu SPU の数 - -nodepend Exec と Print に依存を設定しない - - -- 実行例 + 16 16 + |------|------| 16 + |------|------| 16 + |------|------| 16 + |------|------| -%./dependency -[TASK_PRINT] -13 13 13 13 13 13 13 13 13 13 13 13 26 26 26 26 26 26 26 26 26 26 26 26 - -%./dependency -nodepend -[TASK_PRINT] - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - -上の場合、Exec 1, 2 の処理結果が PPE の idata に書き込まれる前に -Print が idata から DMA でデータを取ってきて表示しているために -全て 0 になっている。 -このタスクが全て同じ SPE 上で実行されているとして、 -Exec 1, 2 のあと、Print の DMA read が実行される前に -Exec 1, 2 の DMA write が済んでいればもしかしたらデータが取れるかもしれない。 -しかし「もしかしたら」では使いものにならないので、依存を設定するわけです。 \ No newline at end of file +run16 罨<у茵с篋spawn域?