Mercurial > hg > Members > masakoha > seminar
changeset 46:b54668f3f96b
add 0202
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 Jan 2016 19:37:25 +0900 |
parents | 37ae3e675c32 |
children | 4e9812eb52dd |
files | 2015/0119.html 2015/0202.html 2015/images/omni/subsetConstraction.graffle |
diffstat | 3 files changed, 430 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2015/0119.html Tue Jan 26 19:37:25 2016 +0900 @@ -0,0 +1,215 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="content-type" content="text/html;charset=utf-8"> + <title>seminar</title> + +<!-- + Notes on CSS media types used: + + 1) projection -> slideshow mode (display one slide at-a-time; hide all others) + 2) screen -> outline mode (display all slides-at-once on screen) + 3) print -> print (and print preview) + + Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key + + Questions, comments? + - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow +--> + +<!-- styles --> +<style media="screen,projection"> + +html, +body, +.presentation { margin: 0; padding: 0; } + +.slide { display: none; + position: absolute; + top: 0; left: 0; + margin: 0; + border: none; + padding: 2% 4% 0% 4%; /* css note: order is => top right bottom left */ + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; height: 100%; /* css note: lets use border-box; no need to add padding+border to get to 100% */ + overflow-x: hidden; overflow-y: auto; + z-index: 2; + } + +.slide.current { display: block; } /* only display current slide in projection mode */ + +.slide .stepcurrent { color: black; } +.slide .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */ + +.slide { +/* + background-image: -webkit-linear-gradient(top, blue, aqua, blue, aqua); + background-image: -moz-linear-gradient(top, blue, aqua, blue, aqua); +*/ +} +</style> + +<style media="screen"> +.slide { border-top: 1px solid #888; } +.slide:first-child { border: none; } +</style> + +<style media="print"> +.slide { page-break-inside: avoid; } +.slide h1 { page-break-after: avoid; } +.slide ul { page-break-inside: avoid; } +</style> + + +<!-- add js lib (jquery) --> +<script src="js/jquery-1.7.min.js"></script> + +<!-- S6 JS --> +<script src="js/jquery.slideshow.js"></script> +<script src="js/jquery.slideshow.counter.js"></script> +<script src="js/jquery.slideshow.controls.js"></script> +<script> + $(document).ready( function() { + Slideshow.init(); + + // Example 2: Start Off in Outline Mode + // Slideshow.init( { mode: 'outline' } ); + + // Example 3: Use Custom Transition + // Slideshow.transition = transitionScrollUp; + // Slideshow.init(); + + // Example 4: Start Off in Autoplay Mode with Custom Transition + // Slideshow.transition = transitionScrollUp; + // Slideshow.init( { mode: 'autoplay' } ); + } ); +</script> + +</head> +<body> + +<div class="presentation"> + + <div class='slide cover'> + <table width="90%" height="90%" border="0" align="center"> + <tr> + <td><div align="center"> + <h1>Cerium による文字列の並列処理</h1> + </div> + </td> + </tr> + <tr> + <td><div align="right"> + <name>Masataka Kohagura</name> + </div></td> + </tr> + </tr> + </table> + </div> + + <div id="cover"> + <h1>研究目的</h1> + 当研究室では並列プログラミングフレームワーク Cerium を開発している。 + Cerium の例題にはファイルの読み込みと文字列処理を行う Word Count があり、先行研究では文字列処理の並列化によってプログラム全体の処理速度は向上している。 + ファイルの読み込みを含むプログラムは読み込みがオーバーヘッドとなり並列度が下がる。 + ファイルの読み込みから文字列処理までのオーバーヘッドが軽減されると、読み込みから文字列処理までの処理速度は向上する。 + また、読み込むファイルによっては 数GB 単位の大きなファイルになる可能性もあるので、ファイル読み込みのオーバーヘッドは無視できない。 + + 本研究ではファイルの読み込みまで含む文字列処理を考慮した並列処理を実装し、プログラム全体の処理速度を軽減する。 + </div> + + <div id="cover"> + <h1>実装している正規表現エンジンの全体の要約</h1> + <ul> + <li>与えられた正規表現から正規表現木(Parser)を生成する。</li> + <li>Parser に状態を割り振り、NFA を構成する。</li> + <li>構成した NFA を DFA に変換する。(Subset Construction)</li> + <li>DFA に変換後、読み込んだファイルと照らし合わせてファイル内の文字列が正規表現にマッチするかどうか実行する。</li> + </ul> + </div> + + <div id="cover"> + <h1>正規表現にマッチさせる方法</h1> + <ul> + <li>DFA変換後、状態遷移を C のコードで生成してコンパイル。その実行ファイルでファイルを読み込ませてマッチング。</li> + <li>DFA変換後、状態遷移をオンデマンドに呼び実行し、状態遷移と読み込んだファイルがマッチするかどうかチェック。</li> + </ul> + </div> + + +<!-- + <div id="cover"> + <pre> + <code> +NodePtr string() { + char c = *ptr; + NodePtr n = NULL; + if (isLiteral(c)) { + n = createNode(0,literal(),string()); + } else { + n = createNode(0,0,0); + } + return n; +} + </code> + </pre> + <p>string なのか literal なのか判断しないで createNode をしてる</p> + </div> +--> + + +<!-- + <div id="cover"> + <h1>今週のしたこと</h1> + 例題 : ab(ab)+ + <ul> + <object data="images/vector/abab.svg" type="image/svg+xml"></object><br> + </ul> + テキストが abab の途中で分割される場合を考える + <ul> + <object data="images/vector/ababautomata.svg" type="image/svg+xml"></object><br> + </ul> + 分割されたファイルの1コ前の終わりが状態(3)の場合で、分割されたファイルの先頭が b の場合状態(4)に遷移して受理される。(正規表現にマッチする) + <ul> + <object data="images/vector/ababtable.svg" type="image/svg+xml"></object><br> + </ul> + <ul> + <object data="images/vector/bitvectorTable.svg" type="image/svg+xml"></object><br> + </ul> + </div> +--> + +<!-- + <div id="cover"> + <h1>prog</h1> + <ul> + <li> + + </li> + + <pre> + <code> +typedef struct SDL_AudioSpec { + int freq; /** DSP frequency samples per second */ + Uint16 format; /** Audio data format */ + Uint8 channels; /** Number of channels: 1 mono, 2 stereo */ + Uint8 silence; /** Audio buffer silence value (calculated) */ + Uint16 samples; /** Audio buffer size in samples (power of 2) */ + Uint16 padding; /** Necessary for some compile environments */ + Uint32 size; /** Audio buffer size in bytes (calculated) */ + void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len); + void *userdata; +} SDL_AudioSpec; + </code> + </pre> + <img src="./images/sqrWave.png" width="50%" height=""> + </ul> + </div> + +--> + +</div> <!-- presentation --> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2015/0202.html Tue Jan 26 19:37:25 2016 +0900 @@ -0,0 +1,215 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="content-type" content="text/html;charset=utf-8"> + <title>seminar</title> + +<!-- + Notes on CSS media types used: + + 1) projection -> slideshow mode (display one slide at-a-time; hide all others) + 2) screen -> outline mode (display all slides-at-once on screen) + 3) print -> print (and print preview) + + Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key + + Questions, comments? + - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow +--> + +<!-- styles --> +<style media="screen,projection"> + +html, +body, +.presentation { margin: 0; padding: 0; } + +.slide { display: none; + position: absolute; + top: 0; left: 0; + margin: 0; + border: none; + padding: 2% 4% 0% 4%; /* css note: order is => top right bottom left */ + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; height: 100%; /* css note: lets use border-box; no need to add padding+border to get to 100% */ + overflow-x: hidden; overflow-y: auto; + z-index: 2; + } + +.slide.current { display: block; } /* only display current slide in projection mode */ + +.slide .stepcurrent { color: black; } +.slide .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */ + +.slide { +/* + background-image: -webkit-linear-gradient(top, blue, aqua, blue, aqua); + background-image: -moz-linear-gradient(top, blue, aqua, blue, aqua); +*/ +} +</style> + +<style media="screen"> +.slide { border-top: 1px solid #888; } +.slide:first-child { border: none; } +</style> + +<style media="print"> +.slide { page-break-inside: avoid; } +.slide h1 { page-break-after: avoid; } +.slide ul { page-break-inside: avoid; } +</style> + + +<!-- add js lib (jquery) --> +<script src="js/jquery-1.7.min.js"></script> + +<!-- S6 JS --> +<script src="js/jquery.slideshow.js"></script> +<script src="js/jquery.slideshow.counter.js"></script> +<script src="js/jquery.slideshow.controls.js"></script> +<script> + $(document).ready( function() { + Slideshow.init(); + + // Example 2: Start Off in Outline Mode + // Slideshow.init( { mode: 'outline' } ); + + // Example 3: Use Custom Transition + // Slideshow.transition = transitionScrollUp; + // Slideshow.init(); + + // Example 4: Start Off in Autoplay Mode with Custom Transition + // Slideshow.transition = transitionScrollUp; + // Slideshow.init( { mode: 'autoplay' } ); + } ); +</script> + +</head> +<body> + +<div class="presentation"> + + <div class='slide cover'> + <table width="90%" height="90%" border="0" align="center"> + <tr> + <td><div align="center"> + <h1>Cerium による文字列の並列処理</h1> + </div> + </td> + </tr> + <tr> + <td><div align="right"> + <name>Masataka Kohagura</name> + </div></td> + </tr> + </tr> + </table> + </div> + + <div id="cover"> + <h1>研究目的</h1> + 当研究室では並列プログラミングフレームワーク Cerium を開発している。 + Cerium の例題にはファイルの読み込みと文字列処理を行う Word Count があり、先行研究では文字列処理の並列化によってプログラム全体の処理速度は向上している。 + ファイルの読み込みを含むプログラムは読み込みがオーバーヘッドとなり並列度が下がる。 + ファイルの読み込みから文字列処理までのオーバーヘッドが軽減されると、読み込みから文字列処理までの処理速度は向上する。 + また、読み込むファイルによっては 数GB 単位の大きなファイルになる可能性もあるので、ファイル読み込みのオーバーヘッドは無視できない。 + + 本研究ではファイルの読み込みまで含む文字列処理を考慮した並列処理を実装し、プログラム全体の処理速度を軽減する。 + </div> + + <div id="cover"> + <h1>実装している正規表現エンジンの全体の要約</h1> + <ul> + <li>与えられた正規表現から正規表現木(Parser)を生成する。</li> + <li>Parser に状態を割り振り、NFA を構成する。</li> + <li>構成した NFA を DFA に変換する。(Subset Construction)</li> + <li>DFA に変換後、読み込んだファイルと照らし合わせてファイル内の文字列が正規表現にマッチするかどうか実行する。</li> + </ul> + </div> + + <div id="cover"> + <h1>正規表現にマッチさせる方法</h1> + <ul> + <li>DFA変換後、状態遷移を C のコードで生成してコンパイル。その実行ファイルでファイルを読み込ませてマッチング。</li> + <li>DFA変換後、状態遷移をオンデマンドに呼び実行し、状態遷移と読み込んだファイルがマッチするかどうかチェック。</li> + </ul> + </div> + + +<!-- + <div id="cover"> + <pre> + <code> +NodePtr string() { + char c = *ptr; + NodePtr n = NULL; + if (isLiteral(c)) { + n = createNode(0,literal(),string()); + } else { + n = createNode(0,0,0); + } + return n; +} + </code> + </pre> + <p>string なのか literal なのか判断しないで createNode をしてる</p> + </div> +--> + + +<!-- + <div id="cover"> + <h1>今週のしたこと</h1> + 例題 : ab(ab)+ + <ul> + <object data="images/vector/abab.svg" type="image/svg+xml"></object><br> + </ul> + テキストが abab の途中で分割される場合を考える + <ul> + <object data="images/vector/ababautomata.svg" type="image/svg+xml"></object><br> + </ul> + 分割されたファイルの1コ前の終わりが状態(3)の場合で、分割されたファイルの先頭が b の場合状態(4)に遷移して受理される。(正規表現にマッチする) + <ul> + <object data="images/vector/ababtable.svg" type="image/svg+xml"></object><br> + </ul> + <ul> + <object data="images/vector/bitvectorTable.svg" type="image/svg+xml"></object><br> + </ul> + </div> +--> + +<!-- + <div id="cover"> + <h1>prog</h1> + <ul> + <li> + + </li> + + <pre> + <code> +typedef struct SDL_AudioSpec { + int freq; /** DSP frequency samples per second */ + Uint16 format; /** Audio data format */ + Uint8 channels; /** Number of channels: 1 mono, 2 stereo */ + Uint8 silence; /** Audio buffer silence value (calculated) */ + Uint16 samples; /** Audio buffer size in samples (power of 2) */ + Uint16 padding; /** Necessary for some compile environments */ + Uint32 size; /** Audio buffer size in bytes (calculated) */ + void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len); + void *userdata; +} SDL_AudioSpec; + </code> + </pre> + <img src="./images/sqrWave.png" width="50%" height=""> + </ul> + </div> + +--> + +</div> <!-- presentation --> +</body> +</html>