Mercurial > hg > Members > masakoha > masa
view 13/Aug-2013/20th.html @ 62:49ed2264da4c
break writting Abstract
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 01 Apr 2014 23:09:16 +0900 |
parents | d8f499590d82 |
children |
line wrap: on
line source
<!DOCTYPE html> <!-- Google HTML5 slide template Authors: Luke Mahé (code) Marcin Wichary (code and design) Dominic Mazzoni (browser compatibility) Charles Chen (ChromeVox support) URL: http://code.google.com/p/html5slides/ --> <html> <head> <title>2013-08-20</title> <meta charset='utf-8'> <script src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script> </head> <style> /* Your individual styles here, or just use inline styles if that’s what you want. */ .slides article { background-image: none !important; background-color: white; } </style> <body style='display: none'> <section class='slides layout-regular template-default'> <!-- Your slides (<article>s) go here. Delete or comment out the slides below.--> <article> <h1> Ceriumによる <br> 正規表現マッチャの実装 </h1> <p> Masataka Kohagura <br> 20th July , 2013 </p> </article> <article> <h3> 研究目的 </h3> <p> 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。 </p> <p> 現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。 セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。 </p> <p> 並列処理は逐次処理よりも処理時間を短縮できる可能性があるが、I/O命令がボトルネックになる。 このボトルネックを軽減させるにはどのような処理をさせればよいのか考察し、処理全体の効率化改善を図る。 </p> </article> <article> <h3> 今週のしたこと </h3> <p> ・スクリプトを組み、文字列サーチの速度を測定した。 </p> <p> ・I/O時間を含む測定をどのようにすればいいのか考え中。 </p> <p> ・BM法の部分をC++のvectorに書き換え </article> <!-- <article class='smaller'> <h3>main.ccの修正</h3> <p>修正前</p> <section><pre> t_exec[k]->set_param(0,(memaddr)offset); <font color=red>t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font> if(size != w->size){ t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH); }else{ t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size); } t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size); </pre><section> <p>修正後</p> <section><pre> t_exec[k]->set_param(0,(memaddr)offset); if(size != w->size){ <font color=red> t_exec[k]->set_param(1,(memaddr)set_one_task_length+EXTRA_LENGTH);</font> t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH); }else{ <font color=red> t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font> t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size); } t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size); </pre><section> </article> --> <article class='smaller'> <h3>時間測定</h3> <table> <p>mac pro上での測定</p> <p>CeriumのAPIでの時間計測。wikipediaのファイルに対して1000回実行した</p> <tr> <td> <table> <tr><td>cpu_num</td><td>max</td><td>min</td><td>ave</td></tr> <tr><td>1</td><td>59.410</td><td>36.260</td><td>38.830</td></tr> <tr><td>2</td><td>29.425</td><td>17.779</td><td>19.085</td></tr> <tr><td>4</td><td>20.441</td><td>9.520</td><td>10.126</td></tr> <tr><td>6</td><td>16.848</td><td>6.678</td><td>6.987</td></tr> <tr><td>8</td><td>14.822</td><td>5.136</td><td>5.442</td></tr> <tr><td>10</td><td>17.667</td><td>4.633</td><td>5.011</td></tr> <tr><td>11</td><td>15.593</td><td>3.979</td><td>5.227</td></tr> <tr><td>12</td><td>14.752</td><td>4.177</td><td>5.462</td></tr> </table> </td> <tr> </table> </article> </body> </html>