109
|
1 /*
|
|
2 * $Id: README,v 1.2 2008/10/20 08:01:29 gongo Exp $
|
|
3 */
|
|
4
|
|
5 - 概要
|
|
6 SPE 上に複数のタスクで共有できる領域を使う例題
|
|
7
|
|
8 タスクは二つあって
|
|
9
|
|
10 Load : int配列を受け取り、SPE上に allocate した 領域にコピーする。
|
|
11 global_alloc(領域ID, サイズ) でそれが可能
|
|
12
|
|
13 Exec: global_get(ID) で allocate された領域を受け取り、
|
|
14 そこにある要素に対して値を加算していく
|
|
15
|
|
16 依存関係としては、まずは Load を先にしないと行けないので
|
|
17
|
|
18
|
|
19 / Exec 1
|
|
20 Load - Exec 2
|
|
21 \ Exec 3
|
|
22
|
|
23 みたいな感じ
|
|
24
|
|
25 補足:
|
|
26 http://www.cr.ie.u-ryukyu.ac.jp/~game/pukiwiki/index.php?%A5%DB%A1%BC%A5%E0%2F2008-07-07
|
|
27
|
|
28
|
|
29 - 実行方法
|
|
30
|
|
31 % ./share [-task numtask] [-length data_length]
|
|
32
|
|
33 -task Exec の数。
|
|
34 -length 配列の要素数
|
|
35
|
|
36
|
|
37 - 実行例
|
|
38
|
|
39 % ./share
|
|
40 [TASK_LOAD] 000 001 002 003 004 005 006 007 008 009 010 011
|
|
41 [TASK_EXEC 00] 026 027 028 029 030 031 032 033 034 035 036 037
|
|
42
|
|
43 % ./share -task 3
|
|
44 [TASK_LOAD] 000 001 002 003 004 005 006 007 008 009 010 011
|
|
45 [TASK_EXEC 00] 026 027 028 029 030 031 032 033 034 035 036 037
|
|
46 [TASK_EXEC 01] 052 053 054 055 056 057 058 059 060 061 062 063
|
|
47 [TASK_EXEC 02] 078 079 080 081 082 083 084 085 086 087 088 089
|
|
48
|