Mercurial > hg > Papers > 2016 > masa-master
changeset 95:9e3988854e93
fix
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 18 Feb 2016 19:30:11 +0900 |
parents | 4b1ac04e01aa |
children | 98f32656ce56 |
files | paper/c2.tex paper/c4.tex paper/images/image.graffle paper/master_paper.pdf paper/master_paper.tex |
diffstat | 5 files changed, 15 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/c2.tex Thu Feb 18 18:15:09 2016 +0900 +++ b/paper/c2.tex Thu Feb 18 19:30:11 2016 +0900 @@ -1,7 +1,7 @@ \chapter{Cerium} Cerium は、本研究室で開発している並列プログラミングフレームワークで Cell 向けに開発されており、C/C++ で実装されている。 Cell は Sony Computer Entertainment 社が販売した PlayStation3 に搭載されているヘテロジニアスマルチコア・プロセッサである。 -現在では Linux、 MacOS X 上で動作する並列プログラミングフレームワークである。 +現在では Linux、 MacOS X、CUDA 上で動作する並列プログラミングフレームワークである。 Cerium は TaskManager、SceneGraph、Rendering Engine の3要素から構成されており、 本研究では汎用計算フレームワークである TaskManager を利用して文字列の並列計算を行なっている。 本章では Cerium TaskManager の構成と Cerium TaskManager を利用したプログラムの実装例について説明する。
--- a/paper/c4.tex Thu Feb 18 18:15:09 2016 +0900 +++ b/paper/c4.tex Thu Feb 18 19:30:11 2016 +0900 @@ -99,7 +99,8 @@ \label{fig:wordcountseparate} \end{figure} -この問題の解決方法として、分割されたファイルの一つ目が文字で終わり、二つ目のファイルの先頭が改行または空白で始まった場合はそれぞれの単語数の合計数から 1 足すことにより整合性を取ることができる。ソースコード\ref{}%check +この問題の解決方法として、分割されたファイルの一つ目が文字で終わり、二つ目のファイルの先頭が改行または空白で始まった場合はそれぞれの単語数の合計数から 1 足すことにより整合性を取ることができる。 +ソースコード\ref{src:Print}の18-22行目にてその処理を行なっている。 ソースコード\ref{src:Exec}は Word Count のメインルーチンである。 % 分割されたファイルを先頭から見ていき、まずは先頭が空白か改行かどうかをチェックする。 @@ -430,10 +431,10 @@ 例題として実装した正規表現マッチャのアルゴリズムは、 \begin{enumerate} -\item 与えられた正規表現を構文解析し、正規表現木に変換する。 -\item 正規表現木から非決定性オートマトン(以下、NFA)か決定性オートマトン(以下、DFA)に変換する。 -\item Subset Construction による NFA から DFA への変換をおこなう。 -\item DFA を元に文字列検索を行ない結果を返す。 +\item 与えられた正規表現を構文解析し、正規表現木に変換 +\item 正規表現木への状態の割当 +\item Subset Construction による状態の変換 +\item 正規表現マッチャの並列処理の実装 \end{enumerate} となる。本項はそれぞれのアルゴリズムについて述べていく。 @@ -780,7 +781,7 @@ \label{fig:regexdivide} \end{figure} -\begin{lstlisting}[frame=lrbt,label=src:print,caption=結果の整合性,numbers=left] +\begin{lstlisting}[frame=lrbt,label=src:print,caption=マッチした結果を Print する,numbers=left] static TSValue stateSkipOnce(TSValue tsv) { if (tsv.matchEnd) {
--- a/paper/images/image.graffle Thu Feb 18 18:15:09 2016 +0900 +++ b/paper/images/image.graffle Thu Feb 18 19:30:11 2016 +0900 @@ -85979,14 +85979,14 @@ <key>WindowInfo</key> <dict> <key>CurrentSheet</key> - <integer>19</integer> + <integer>4</integer> <key>Expanded_Canvases</key> <array> <string>キャンバス 7</string> <string>cctree</string> </array> <key>Frame</key> - <string>{{1027, 278}, {1279, 1139}}</string> + <string>{{805, 278}, {1279, 1139}}</string> <key>ShowInfo</key> <true/> <key>ShowRuler</key> @@ -85998,9 +85998,9 @@ <key>TopSlabHeight</key> <real>682</real> <key>VisibleRegion</key> - <string>{{4.225352112676056, -298.99999999999989}, {852.11267605633793, 1380.2816901408451}}</string> + <string>{{486.36363899904836, -165}, {687.5000037252903, 1114.7727333132393}}</string> <key>Zoom</key> - <real>0.70999999999999996</real> + <real>0.87999999523162842</real> <key>ZoomValues</key> <array> <array> @@ -86020,8 +86020,8 @@ </array> <array> <string>キャンバス 8</string> + <real>0.87999999523162842</real> <real>0.88000000000000012</real> - <real>0.91999999999999993</real> </array> <array> <string>charclass merge</string> @@ -86095,8 +86095,8 @@ </array> <array> <string>nodeword</string> + <real>0.70999997854232788</real> <real>0.70999999999999996</real> - <real>0.71999999999999997</real> </array> <array> <string>mmap</string>
--- a/paper/master_paper.tex Thu Feb 18 18:15:09 2016 +0900 +++ b/paper/master_paper.tex Thu Feb 18 19:30:11 2016 +0900 @@ -71,26 +71,7 @@ \newpage %要旨 -\begin{abstract} -Cerium は当研究室で開発している並列プログラミングフレームワークである。 - -従来はファイル読み込みを mmap で実装していたが、本論文では並列処理向け I/O の Blocked Read を実装を行った。 -Blocked Read とは、ファイルを一度に読み込まずに、あるサイズに分割して読み込む手法である。 - -Cerium にはファイルを読み込んで文字列処理を行う例題があり、Word Count 、Boyer-Moore String Search 、正規表現を実装し測定した。 -それぞれの例題によって結果の整合性を取る必要があるが、どのように整合性を取るかは問題によって考慮する必要がある。 - -本研究で実装した正規表現は、正規表現から正規表現木を生成し、その正規表現木に状態を割り振りながらNFA や DFA を生成する。 -もし NFA が生成した場合は Subset Construction で DFA に変換する。 -そして、DFA の生成後、ファイルとマッチングさせる。 - -それぞれの例題と Mac に built-in されている wc、egrep と比較し測定を行なった。 -\end{abstract} - -\begin{abstract_eng} - We are developing parallel. -\end{abstract_eng} - +\input{abstract.tex} %目次 \tableofcontents