Mercurial > hg > Papers > 2018 > parusu-master
changeset 2:b3fc9cc0d85f
Add section
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 07 Jan 2018 05:22:05 +0900 |
parents | 80536d2080d2 |
children | 86340b0bf212 |
files | mindmap.mm paper/Makefile paper/abstract.tex paper/conclusion.tex paper/evaluation.tex paper/fig/codegear-datagear.graffle paper/fig/codegear-datagear.pdf paper/fig/codegear-datagear.xbb paper/fig/goto.graffle paper/fig/goto.pdf paper/fig/goto.xbb paper/gearsOS.tex paper/master_paper.tex |
diffstat | 13 files changed, 581 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mindmap.mm Thu Dec 21 22:00:37 2017 +0900 +++ b/mindmap.mm Sun Jan 07 05:22:05 2018 +0900 @@ -148,6 +148,11 @@ <node CREATED="1512459642693" ID="ID_1515147666" MODIFIED="1512460079315" TEXT="Data Gear の meta Data"> <node CREATED="1512459955573" ID="ID_1268418191" MODIFIED="1512459963646" TEXT="依存関係解決用のqueue"/> </node> +<node CREATED="1514281525554" ID="ID_1712637800" MODIFIED="1514281529860" TEXT="Synchornized Queue"> +<node CREATED="1514281558026" ID="ID_465369737" MODIFIED="1514281584393" TEXT="Code Gear の疑似並列実を使ってモデル検査する"> +<node CREATED="1514281585150" ID="ID_355165624" MODIFIED="1514281597370" TEXT="length を先に決めておく"/> +</node> +</node> </node> <node CREATED="1512459624453" ID="ID_1863644916" MODIFIED="1512460342956" POSITION="right" TEXT="GPU 実行"> <node CREATED="1512459627489" ID="ID_1073024940" MODIFIED="1512459629873" TEXT="CUDA Worker"> @@ -159,19 +164,42 @@ <node CREATED="1512460105826" ID="ID_1054295790" MODIFIED="1512460153903" TEXT="Code Gear stub で GPU用のFunction を呼ぶ"/> </node> <node CREATED="1512460310214" ID="ID_1936995951" MODIFIED="1512460317608" POSITION="right" TEXT="Gears OS の記述"> -<node CREATED="1512460345799" ID="ID_149182714" MODIFIED="1512460349488" TEXT="Interface"/> +<node CREATED="1512460345799" ID="ID_149182714" MODIFIED="1512460349488" TEXT="Interface"> +<node CREATED="1513922531324" ID="ID_936309019" MODIFIED="1513922564821" TEXT="Code Gear と Data Gear の集をもっているDataGear"/> +<node CREATED="1513922541220" ID="ID_1917556930" MODIFIED="1513922590538" TEXT="interface とは別に実装を持っており, Code Gear は その実装のmethodになる"> +<node CREATED="1513922594130" ID="ID_229338484" MODIFIED="1513922620704" TEXT="つまり impl 毎に違う挙動を書く事ができる"/> +</node> +</node> <node CREATED="1512460350073" ID="ID_185870589" MODIFIED="1512460351791" TEXT="par goto"> <node CREATED="1512460353973" ID="ID_1212844908" MODIFIED="1512460356687" TEXT="par goto iterate"/> +<node CREATED="1513922624345" ID="ID_13624334" MODIFIED="1513922630592" TEXT="並列実行用の構文"> +<node CREATED="1513922630782" ID="ID_9443031" MODIFIED="1513923980580" TEXT="par goto を書くと, task の生成, dependency の設定, taskManager への spawn(実体はWorker に task を send) までやってくれる"/> +<node CREATED="1513923983001" ID="ID_1400100723" MODIFIED="1513924003330" TEXT="task は context なので、context をいじる構文"> +<node CREATED="1513924004391" ID="ID_87004753" MODIFIED="1513924034173" TEXT="meta 計算として記述する"/> +<node CREATED="1513924013060" ID="ID_377338595" MODIFIED="1513926029012" TEXT="par goto は normal レベルで記述するはず"/> +<node CREATED="1513924024580" ID="ID_736053385" MODIFIED="1513926011683" TEXT="perl の script で meta 計算を生成する"/> +</node> +</node> </node> <node CREATED="1512460367213" ID="ID_567384353" MODIFIED="1512460368327" TEXT="stub"/> <node CREATED="1512460370758" ID="ID_945629592" MODIFIED="1512460383581" TEXT="perl script な 変換"/> </node> -<node CREATED="1512459041016" ID="ID_1841381888" MODIFIED="1512460406093" POSITION="right" TEXT="Gears OS の評価"> +<node CREATED="1512459041016" ID="ID_1841381888" MODIFIED="1514018014615" POSITION="right" TEXT="Gears OS の評価"> <node CREATED="1512459346672" ID="ID_1546513678" MODIFIED="1512459938589" TEXT="例題"> <node CREATED="1512459348722" ID="ID_953736294" MODIFIED="1512459568879" TEXT="bitonic sort"/> <node CREATED="1512459907943" ID="ID_1559767155" MODIFIED="1512459911920" TEXT="twice"/> </node> <node CREATED="1512459939767" ID="ID_1100574778" MODIFIED="1512459952847" TEXT="GPUでの実行も含める"/> +<node CREATED="1514018015304" ID="ID_1613432857" MODIFIED="1514018020395" TEXT="他のOS との比較は?"> +<node CREATED="1514018020396" ID="ID_913667138" MODIFIED="1514018028182" TEXT="unix, linux kernel"/> +<node CREATED="1514018022227" ID="ID_1406507293" MODIFIED="1514018041526" TEXT="プロシンのコメントの論文"> +<node CREATED="1514018042054" ID="ID_994343708" MODIFIED="1514018141905" TEXT="大体の論文は COQ で証明を書いて, 実装は別の言語でかく"/> +<node CREATED="1514018090857" ID="ID_1653509773" MODIFIED="1514018313010" TEXT="CbCで証明も実装も書く"> +<node CREATED="1514018313969" ID="ID_792215202" MODIFIED="1514018320689" TEXT="今は agda も使ってるが"/> +<node CREATED="1514018323389" ID="ID_1330939690" MODIFIED="1514018368591" TEXT="agda できちんと CbC のコードをマッピングできれば"/> +</node> +</node> +</node> </node> <node CREATED="1512460286627" ID="ID_1409831252" MODIFIED="1512460438315" POSITION="right" TEXT="まとめ, 今後の課題"> <node CREATED="1512460491942" ID="ID_1541576349" MODIFIED="1512460497601" TEXT="疑似並列実行"> @@ -179,5 +207,14 @@ <node CREATED="1512460539814" ID="ID_1131663966" MODIFIED="1512460568205" TEXT=""/> </node> </node> +<node CREATED="1514281649646" ID="ID_1568729910" MODIFIED="1514281659508" POSITION="left" TEXT="par goto と Synchronized Queue を優先に書く"> +<node CREATED="1514281660067" ID="ID_175932633" MODIFIED="1514281747899" TEXT="それに使用した meta computation を抜き出して, "/> +<node CREATED="1514281763120" ID="ID_130958059" MODIFIED="1514281849518" TEXT="Thread 間の通信の例題"> +<node CREATED="1514281767058" ID="ID_1648214351" MODIFIED="1514281770562" TEXT="bounded buffer"/> +<node CREATED="1514281771023" ID="ID_753303870" MODIFIED="1514282905235" TEXT="consumer producer みたいなもの"/> +<node CREATED="1514281821309" ID="ID_619774660" MODIFIED="1514281829033" TEXT="go の 例題から探す"/> +</node> +<node CREATED="1514282094582" ID="ID_545317549" MODIFIED="1514282111883" TEXT="データ依存はどういうふうに実装するか"/> +</node> </node> </map>
--- a/paper/Makefile Thu Dec 21 22:00:37 2017 +0900 +++ b/paper/Makefile Sun Jan 07 05:22:05 2018 +0900 @@ -1,5 +1,5 @@ # Settings -TARGET=atton-master +TARGET=master_paper BIBTEX=pbibtex BB=extractbb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/abstract.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,8 @@ +\begin{abstract} +アブストラクト +\end{abstract} + +\begin{abstract_eng} +abstract +\end{abstract_eng} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/conclusion.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,1 @@ +\chapter{まとめ的なやつ}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/evaluation.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,3 @@ +\chapter{Gears OS の評価} +\section{Twice} +\section{BitonicSort}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/fig/codegear-datagear.xbb Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: fig/codegear-datagear.pdf +%%Creator: extractbb 20170318 +%%BoundingBox: 0 0 535 427 +%%HiResBoundingBox: 0.000000 0.000000 535.000000 427.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sun Jan 7 05:20:14 2018 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/fig/goto.graffle Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,451 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle6</string> + <string>169.23.0.276662</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {558.99997329711914, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2011-11-12 11:03:25 +0000</string> + <key>Creator</key> + <string>Nobuyasu Oshiro</string> + <key>DisplayScale</key> + <string>1 in = 1.00000 in</string> + <key>GraphDocumentVersion</key> + <integer>12</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{365.99999356269836, 106.55999761819839}, {66, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>37</integer> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\deftab720 +\pard\pardeftab720\qc\partightenfactor0 + +\f0\fs22 \cf0 goto cg2(c)}</string> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{209.49999356269836, 106.55999761819839}, {79, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>36</integer> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\deftab720 +\pard\pardeftab720\qc\partightenfactor0 + +\f0\fs22 \cf0 goto cg1(a+b)}</string> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>35</integer> + <key>Points</key> + <array> + <string>{323.99999356269836, 144}</string> + <string>{426.68373636901379, 143.8290591686964}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <false/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>33</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>33</integer> + </dict> + <key>ID</key> + <integer>34</integer> + <key>Points</key> + <array> + <string>{183, 144}</string> + <string>{323.99999356269836, 144}</string> + </array> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>Legacy</key> + <false/> + <key>LineType</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>3</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{287.99999356269836, 117}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>33</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\partightenfactor0 + +\f0\fs24 \cf0 cg1}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{147, 117}, {72, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>3</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\partightenfactor0 + +\f0\fs24 \cf0 cg0}</string> + <key>VerticalPad</key> + <real>0.0</real> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>Slices</key> + <string>NO</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoLineLength</key> + <real>0.20000000298023224</real> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2018-01-06 18:15:41 +0000</string> + <key>Modifier</key> + <string>Tatsuki IHA</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>Expanded_Canvases</key> + <array/> + <key>Frame</key> + <string>{{931, 136}, {989, 938}}</string> + <key>ShowInfo</key> + <true/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>200</integer> + <key>TopSlabHeight</key> + <real>250</real> + <key>VisibleRegion</key> + <string>{{47.5, 0}, {475, 780}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>Canvas 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/fig/goto.xbb Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: fig/goto.pdf +%%Creator: extractbb 20170318 +%%BoundingBox: 0 0 312 85 +%%HiResBoundingBox: 0.000000 0.000000 312.000000 85.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sun Jan 7 03:24:26 2018 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/gearsOS.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,52 @@ +\chapter{Gears OS} +\section{Code GearとData Gear} +Gears OS はプログラムとデータの単位として Gear を用いる。 +Gear は並列実行の単位、データの分割、Gear 間の接続等になる。 + +Code Gear はプログラムの処理そのもので、任意の数の Input Data Gear を参照し、処理が完了すると任意の数の Output Data Gear に書き込む。 +また、Code Gear は接続された Data Gear 以外には参照を行わない。 +Gears OS では \figref{codegear-datagear} で示しているように Code Gear と Input / Output Data Gear の対応から依存関係を解決し、 Code Gear の並列実行を可能とする。 + +Code Gear 間の移動は継続を用いて行われる。 +継続は関数呼び出しとは異なり、呼び出し元に戻らず、Code Gear 内で次の Code Gear への継続を行う。 +そのため Code Gear, Data Gear を使ったプログラミングは末尾再帰を強制したスタイルになる。 + +Gear の特徴として処理やデータの構造が Code Gear、 Data Gear に閉じていることにある。 +これにより、実行時間、メモリ使用量などを予想可能なものにする事が可能になる。 + +\begin{figure}[htbp] + \begin{center} + \includegraphics[scale=1.0]{./fig/codegear-datagear.pdf} + \end{center} + \caption{Code Gear と Data Gear の依存関係} + \label{fig:codegear-datagear} +\end{figure} + +\section{Continuation based C} +Gears OS の実装は本研究室で開発されているCbC(Continuation based C) を用いて行う。 +CbC は Code Gear を基本的な処理単位として記述できるプログラミング言語である。 + +CbC の記述例を\coderef{cg1}に, 実際にこのソースコードが実行される際の遷移を\figref{cg1}に示す。 +CbC の Code Gear は \_\_code という型を持つ関数として記述する。 +Code Gear は継続で次の Code Gear に遷移する性質上、関数とは違い戻り値は持たない。 +そのため、\_\_code は Code Gear の戻り値ではなく、Code Gear であることを示すフラグとなっている。 +Code Gear から次の Code Gear への遷移は goto による継続で処理を行い、次の Code Gear への引数として入出力を与える。 +\coderef{cg1}内の goto cg1(a+b); が継続にあたり、(a+b) がcg1 への入力になる。 + +CbC の goto による継続は Scheme の継続と異なり、呼び出し元の環境を必要とせず、行き先を指定すれば良い。 +したがって、この継続を軽量継続と呼ぶ。 + +\lstinputlisting[caption=CodeSegmentの軽量継続, label=code:cg1]{./src/cg1.cbc} + +\begin{figure}[htbp] + \begin{center} + \includegraphics[scale=1.0]{./fig/goto.pdf} + \end{center} + \caption{goto による Code Gearの軽量継続} + \label{fig:cg1} +\end{figure} + +\section{Meta Computation} + +\section{Context} +\section{Interface}
--- a/paper/master_paper.tex Thu Dec 21 22:00:37 2017 +0900 +++ b/paper/master_paper.tex Sun Jan 07 05:22:05 2018 +0900 @@ -5,6 +5,7 @@ \usepackage{here} \usepackage{listings} \usepackage{comment} +\usepackage{url} \usepackage[deluxe, multi]{otf} %\input{dummy.tex} %% font @@ -30,6 +31,7 @@ \newcommand\figref[1]{図 \ref{fig:#1}} \newcommand\tabref[1]{表 \ref{tab:#1}} +\newcommand\coderef[1]{ソースコード \ref{code:#1}} \lstset{ frame=single, @@ -53,11 +55,8 @@ lineskip=-0.5zw, escapechar={@}, } -\def\lstlistingname{リスト} -\def\lstlistlistingname{リスト目次} -\newtheorem{theorem}{定理}[section] -\newtheorem{lemma}{補題}[section] - +\def\lstlistingname{ソースコード} +\def\lstlistlistingname{ソースコード目次} %%% 索引のために以下の2行を追加 \usepackage{makeidx,multicol} @@ -93,6 +92,12 @@ %chapters \input{introduction.tex} +\input{gearsOS.tex} +%\input{cbc.tex} +\input{structure_GearsOS.tex} +\input{gpu.tex} +\input{evaluation.tex} +\input{conclusion.tex} %謝辞 \addcontentsline{toc}{chapter}{謝辞}