annotate paper/cerium.tex @ 2:b7c8a956c10b

write benchmark and conclusion
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Wed, 06 Nov 2013 01:16:42 +0900
parents f4b3de446113
children 423b4d15e248
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
1 \section{Cerium における Task の生成}\label{section:cerium}
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
2 Cerium では,user が createtask を行い、input data や依存関係の設定し spawn を行うと TaskManager で Task が生成される。
2
b7c8a956c10b write benchmark and conclusion
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
3 spawn の代わりに新たに用意した iterate を利用することで,Data 並列実行を行う Task として登録される。
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 Task 毎に依存関係を表す wait\_i と wait\_me というリストがあり、依存関係が解消されて実行可能になった
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 Task は ActiveTaskList に移される。さらに、Scheduler に転送しやすい TaskList に変換してから各 Scheduler に
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 転送される。
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
7
2
b7c8a956c10b write benchmark and conclusion
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
8 以下に Data 並列実行を行う Task を生成する例題を示す。
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 input data を二つ用意し、 input 同士を乗算し、 output に格納する multiply という例題となる。
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 \begin{Verbatim}[fontsize=\footnotesize,xleftmargin=1cm]
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 void
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 multiply_init
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 (HTaskPtr twice, int *i_data, int *o_data) {
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 multiply =
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 manager->create_task(MULTIPLY_TASK);
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 // MULTIPLY_TASK is task id(enum)
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 multiply->set_inData(0, i_data1,
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 sizeof(int)*length);
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 multiply->set_inData(1, i_data2,
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 sizeof(int)*length);
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 multiply->set_outData(0, o_data,
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 sizeof(int)*length);
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 multiply->set_cpu(SPE_ANY);
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
24 multiply->iterate(length);
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 }
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 \end{Verbatim}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 \begin{tiny}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 \begin{table}[ht]
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \begin{center}
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
31 \caption{Task 生成における API}
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 \label{table:create_taskAPI}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 \scalebox{0.5}[0.9]
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 \small
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 \begin{tabular}[t]{c|l}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 create\_task& Task を生成する \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 set\_inData & Task への入力データのアドレスを追加 \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 \hline
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
41 set\_outData & Task からの出力データのアドレスを追加 \\
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 set\_cpu & Task を実行するデバイスの設定 \\
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 \hline
2
b7c8a956c10b write benchmark and conclusion
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
45 iterate&Data 並列実行を行う Task として ActiveTaskList に登録 \\
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 \end{tabular}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 \end{center}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 \end{table}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 \end{tiny}
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
51
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 \begin{tiny}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 \begin{table}[ht]
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 \begin{center}
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
55 \caption{Task 側で使用する API}
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
56 \label{table:created_taskAPI}
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
57 \scalebox{0.5}[0.9]
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 \small
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 \begin{tabular}[t]{c|l}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 \hline
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
61 get\_input&Scheduler から set\_inData したアドレスを取得\\
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 \hline
1
f4b3de446113 write introduction and cerium
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
63 get\_output&Scheduler から set\_outData したアドレスを取得\\
0
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 \hline
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 \end{tabular}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 \end{center}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 \end{table}
9e88a388ec83 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 \end{tiny}