Mercurial > hg > Members > masakoha > masa
view 2013/May-2013/14th.html @ 31:5c7d17c36564
fix 02nd.txt & add 03rd.txt
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 03 Feb 2014 17:47:55 +0900 |
parents | e4748bca1eb3 |
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-05-14</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> 14th May , 2013 </p> </article> <article> <h3> 研究目的 </h3> <p> 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。 </p> <p> 現在は正規表現を実装している段階であるが、「動的なコード生成を用いた正規表現マッチャの実装」で示されたオートマトンを並列実装する。これを実装することによって、Ceriumがオートマトンで表される問題に対して並列実装できることを証明する。 </p> </article> <article> <h3> word_countのi_data o_data </h3> <div align="center"> <IMG SRC="word_count.jpg" ALT="word_count"> </div> <p> o_dataは1つのタスク当たり4つの要素が吐き出される。<br> それらの配列をひとまとめにした配列をPrint.ccが読み込み、word_num、line_numの合計数、フラグ管理で正確にカウントできるようにされている。 </p> </article> <article class='smaller'> <h3> regexのi_data o_data(予定) </h3> <div align="center"> <IMG SRC="regex001.jpg" ALT="regex"> </div> <h3> 問題点 </h3> <p> i_dataはword_countと同様にメモリに割り当てられた文字列である。それの先頭に検索したい文字列を入れて、プログラムが検索できるようにしたい。<br> 問題点として、o_dataがそのtask内でマッチしたラインの先頭アドレスを格納したいので、1task当たりのo_dataが可変長となる。 o_dataのメモリをどう確保するべきなのか。 行の途中で分割されてしまった場合、flagをどう持たせたらいいのだろうか。 </p> </article> <article class='smaller'> <h3> word_count/main.cc run_start() </h3> <section> <pre> /* out用のdivision_size. statusが2つなので、あわせて16byteになるように、<br>long long(4byte)を使用 */ w->division_out_size = sizeof(unsigned long long)*4; int out_size = w->division_out_size*out_task_num; w->o_data = (unsigned long long *)manager->allocate(out_size); w->out_size = 4; </pre> </article> </body> </html>