Mercurial > hg > Game > Cerium
comparison example/get_segment/README @ 391:492e60453124 draft
fix...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 07 Aug 2009 02:24:06 +0900 |
parents | cfd20d609ace |
children | 69e32bb76373 |
comparison
equal
deleted
inserted
replaced
390:6087affae003 | 391:492e60453124 |
---|---|
1 /* | |
2 * $Id: README,v 1.5 2008/11/01 02:37:12 gongo Exp $ | |
3 */ | |
4 | 1 |
5 - 概要 | 2 - 概要 |
6 | 3 |
7 "Hello, World!!" を出力するプログラムです。 | 4 SPE側から、PPEのメインメモリをアクセスするために、固定長の |
8 タスク Hello が文字列を表示します。 | |
9 | 5 |
10 - 実行方法 | 6 MemorySegment |
11 | 7 |
12 % ./hello [-count COUNT] | 8 をリストにした MemList を作る。MemHash により、MemorySegment |
9 を検索出来るようにする。MemorySegement は、MemList 上で、LRU | |
10 で入れ換えられる。これにより、SPE上に、メインメモリのキャッシュ | |
11 を作ることが出来る。 | |
13 | 12 |
14 -count 表示する "Hello, World!!" の数(つまり、タスク Hello の数)です。 | 13 MemList は、Task が自分で管理する。それは、global_get/global_set |
14 で、Task を越えて持ち越すことが出来る。ただし、MemList自体 | |
15 が削除されてしまう可能性もある。その時には、再度、MemListを | |
16 確保する。 | |
15 | 17 |
16 - 実行例 (-cpu は Cerium 標準のオプションです) | 18 キャッシュは、書き出し(put)もサポートしているが、get して、 |
19 get したものが吐き出されてない前提。WriteBack などは実装してない。 | |
17 | 20 |
18 % ./hello | |
19 [0] Hello, World!! | |
20 | |
21 % ./hello -count 10 | |
22 [0] Hello, World!! | |
23 [1] Hello, World!! | |
24 [2] Hello, World!! | |
25 [3] Hello, World!! | |
26 [4] Hello, World!! | |
27 [5] Hello, World!! | |
28 [6] Hello, World!! | |
29 [7] Hello, World!! | |
30 [8] Hello, World!! | |
31 [9] Hello, World!! | |
32 | |
33 % ./hello -count 10 -cpu 3 | |
34 [0] Hello, World!! | |
35 [2] Hello, World!! | |
36 [3] Hello, World!! | |
37 [5] Hello, World!! | |
38 [6] Hello, World!! | |
39 [8] Hello, World!! | |
40 [9] Hello, World!! | |
41 [1] Hello, World!! | |
42 [4] Hello, World!! | |
43 [7] Hello, World!! | |
44 | |
45 上の例では、Hello タスク 10 個を、 | |
46 3 つの CPU に振り分けて実行しているので | |
47 表示が順になっていない -> 並列に実行されていることがわかります。 |