comparison 2013/Aug-2013/6th.html @ 9:e4748bca1eb3

mkdir 2013
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Tue, 14 Jan 2014 04:18:59 +0900
parents Aug-2013/6th.html@c9b2998eb516
children
comparison
equal deleted inserted replaced
8:0ce451f35622 9:e4748bca1eb3
1 <!DOCTYPE html>
2
3 <!--
4 Google HTML5 slide template
5
6 Authors: Luke Mahé (code)
7 Marcin Wichary (code and design)
8
9 Dominic Mazzoni (browser compatibility)
10 Charles Chen (ChromeVox support)
11
12 URL: http://code.google.com/p/html5slides/
13 -->
14
15 <html>
16 <head>
17 <title>2013-08-06</title>
18
19 <meta charset='utf-8'>
20 <script
21 src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script>
22 </head>
23
24 <style>
25 /* Your individual styles here, or just use inline styles if that’s
26 what you want. */
27 .slides article { background-image: none !important; background-color: white; }
28
29
30 </style>
31
32 <body style='display: none'>
33
34 <section class='slides layout-regular template-default'>
35
36 <!-- Your slides (<article>s) go here. Delete or comment out the
37 slides below.-->
38
39 <article>
40 <h1>
41 Ceriumによる
42 <br>
43 正規表現マッチャの実装
44 </h1>
45 <p>
46 Masataka Kohagura
47 <br>
48 6th July , 2013
49 </p>
50 </article>
51
52 <article>
53 <h3>
54 研究目的
55 </h3>
56 <p>
57 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。
58 </p>
59 <p>
60 現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。
61 セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。
62 </p>
63 <p>
64 様々な並列処理のプログラムを実装することでプログラムに慣れ、
65 </p>
66 </article>
67
68 <article>
69 <h3>
70 今週のしたこと
71 </h3>
72 <p>
73 ・regex_masのバグ取り
74 ("doing"という単語が本来は27856個存在するはずだが、このプログラムだと27854個と2個不足した状態で出力された。)
75 </p>
76 <p>
77 ・時間測定
78 </p>
79 </article>
80
81 <article class='smaller'>
82 <h3>main.ccの修正</h3>
83 <p>修正前</p>
84 <section><pre>
85 t_exec[k]->set_param(0,(memaddr)offset);
86 <font color=red>t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font>
87 if(size != w->size){
88 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
89 }else{
90 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
91 }
92 t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
93 </pre><section>
94 <p>修正後</p>
95 <section><pre>
96 t_exec[k]->set_param(0,(memaddr)offset);
97 if(size != w->size){
98 <font color=red> t_exec[k]->set_param(1,(memaddr)set_one_task_length+EXTRA_LENGTH);</font>
99 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
100 }else{
101 <font color=red> t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font>
102 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
103 }
104 t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
105 </pre><section>
106 </article>
107
108 <article class='smaller'>
109 <h3>時間測定(参考程度に)</h3>
110
111 <table>
112 <p>mac pro上での測定</p>
113 <p>Cerium APIでの計測</p>
114 <tr>
115 <td>
116 <table>
117 <tr><td>cpu_num</td><td>time(ms)</td></tr>
118 <tr><td>1</td><td>38.752</td></tr>
119 <tr><td>2</td><td>19.347</td></tr>
120 <tr><td>4</td><td>10.028</td></tr>
121 <tr><td>8</td><td>5.393</td></tr>
122 <tr><td>10</td><td>4.502</td></tr>
123 <tr><td>11</td><td>4.198-5.977</td></tr>
124 <tr><td>12</td><td>5.585</td></tr>
125 </table>
126 </td>
127 <tr>
128 </table>
129
130 <p>
131 ・10回ほど手動で実行して、それの中央値をとっているだけ。
132 </p>
133 <p>
134 ・現在集計スクリプトを作成中。
135 </p>
136 <p>
137 ・cpu_num = 11のとき実行するたんびにバラバラになる。
138 </p>
139
140 </article>
141 </body>
142 </html>