Mercurial > hg > Game > Cerium
comparison example/word_count/README @ 946:852ed17d8af1 draft
unify word count examples....
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 01 Aug 2010 21:05:35 +0900 |
parents | cb06748ba6cf |
children |
comparison
equal
deleted
inserted
replaced
945:9ed1c4a877ca | 946:852ed17d8af1 |
---|---|
1 /* | |
2 * $Id: README,v 1.3 2008/10/20 08:49:52 gongo Exp $ | |
3 */ | |
4 | 1 |
5 - 概要 | 2 word count |
6 Task の依存関係を設定する例題 | |
7 | 3 |
8 タスクは二種類あって | 4 16 16 16 |
5 |------|------|------|------|------|------|------|------| | |
9 | 6 |
10 配列 idata があるとする (サイズは length*2) | 7 荐絎茵 |
11 | 8 /\/\/\/\ |
12 Exec: idata を length の前後に分けて受け取り、各要素に値を加算 | 9 \/\/\/\/ |
13 半分に分けるため、今回はこのタスクを 2 つに固定。 | 10 patter c障 |
14 まあ3つ以上でもいいんだけどね。 | |
15 | |
16 Print: idata を表示する。 | |
17 | 11 |
18 | 12 |
19 依存関係としては、まずは Exec を先に実行しないといけないので | 13 16 16 |
14 |------|------| 16 | |
15 |------|------| 16 | |
16 |------|------| 16 | |
17 |------|------| | |
20 | 18 |
21 ------------> 時間 | 19 run16 罨<у茵с篋spawn域? |
22 | |
23 Exec 1 | |
24 \ | |
25 Print | |
26 / | |
27 Exec 2 | |
28 | |
29 | |
30 みたいな感じ。 | |
31 この依存を設定しないと、Print は Exec1,2 が計算する前の | |
32 idata を詠んでしまう可能性がある。 | |
33 | |
34 | |
35 - 実行方法 | |
36 | |
37 % ./dependency [-cpu spe_num] [-nodepend] | |
38 | |
39 -cpu SPU の数 | |
40 -nodepend Exec と Print に依存を設定しない | |
41 | |
42 | |
43 - 実行例 | |
44 | |
45 %./dependency | |
46 [TASK_PRINT] | |
47 13 13 13 13 13 13 13 13 13 13 13 13 26 26 26 26 26 26 26 26 26 26 26 26 | |
48 | |
49 %./dependency -nodepend | |
50 [TASK_PRINT] | |
51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
52 | |
53 上の場合、Exec 1, 2 の処理結果が PPE の idata に書き込まれる前に | |
54 Print が idata から DMA でデータを取ってきて表示しているために | |
55 全て 0 になっている。 | |
56 このタスクが全て同じ SPE 上で実行されているとして、 | |
57 Exec 1, 2 のあと、Print の DMA read が実行される前に | |
58 Exec 1, 2 の DMA write が済んでいればもしかしたらデータが取れるかもしれない。 | |
59 しかし「もしかしたら」では使いものにならないので、依存を設定するわけです。 |