changeset 5:0aabd94a0126

スライド修正
author tobaru
date Wed, 21 Feb 2018 15:39:20 +0900
parents d0d503dd3fd5
children 3a99fc0296ce
files paper/main.aux paper/main.log paper/main.pdf paper/main.synctex.gz paper/main.tex slide/thesis.html slide/thesis.md slide/thesis.pdf.html
diffstat 8 files changed, 62 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/paper/main.aux	Wed Feb 21 14:38:37 2018 +0900
+++ b/paper/main.aux	Wed Feb 21 15:39:20 2018 +0900
@@ -46,8 +46,10 @@
 \newlabel{LinuxLLVMmake}{{6.2}{10}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.2}Linux上のLLVM makeファイル}{10}}
 \@writefile{toc}{\contentsline {section}{\numberline {6.2}GCC}{11}}
-\newlabel{Linux_GCC_CrossCompile}{{6.3}{11}}
+\newlabel{GCC_example}{{6.3}{11}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.3}LinuxでのGCC CrossCompile}{11}}
+\newlabel{Linux_GCC_CrossCompile}{{6.4}{11}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.4}LinuxでのGCC CrossCompile}{11}}
 \@writefile{toc}{\contentsline {section}{\numberline {6.3}xv6}{12}}
 \@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces OSX Linux VM}}{12}}
 \newlabel{fig:OSX_Linux_VM}{{6.1}{12}}
--- a/paper/main.log	Wed Feb 21 14:38:37 2018 +0900
+++ b/paper/main.log	Wed Feb 21 15:39:20 2018 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.5.28)  21 FEB 2018 12:12
+This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.5.28)  21 FEB 2018 15:02
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
@@ -268,14 +268,18 @@
 
 ] [16
 
-] (./main.aux) ) 
+] (./main.aux)
+
+LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
+
+ ) 
 Here is how much of TeX's memory you used:
- 2689 strings out of 493693
- 36488 string characters out of 6149787
- 231239 words of memory out of 5000000
- 6219 multiletter control sequences out of 15000+600000
+ 2690 strings out of 493693
+ 36501 string characters out of 6149787
+ 254239 words of memory out of 5000000
+ 6220 multiletter control sequences out of 15000+600000
  14788 words of font info for 59 fonts, out of 8000000 for 9000
  929 hyphenation exceptions out of 8191
  27i,8n,43p,326b,1133s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on main.dvi (19 pages, 32676 bytes).
+Output written on main.dvi (19 pages, 33660 bytes).
Binary file paper/main.pdf has changed
Binary file paper/main.synctex.gz has changed
--- a/paper/main.tex	Wed Feb 21 14:38:37 2018 +0900
+++ b/paper/main.tex	Wed Feb 21 15:39:20 2018 +0900
@@ -444,8 +444,9 @@
 % これもCrossCompileなので書き直す
 % CrossCompile と別に Linux 環境で CbC を動かした後に、Raspberry Pi に載せる手法がある。
 
-
- 
+ \begin{lstlisting}[frame=lrbt,label=GCC_example,caption={LinuxでのGCC CrossCompile}]
+./bin/clang -target arm-linux-gnueabi -mfpu=neon-fp16 -marm -I /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/ hello.c -c -mfloat-abi=hard
+ \end{lstlisting}
 
   
 
--- a/slide/thesis.html	Wed Feb 21 14:38:37 2018 +0900
+++ b/slide/thesis.html	Wed Feb 21 15:39:20 2018 +0900
@@ -86,7 +86,7 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.1 (2017-03-22) [x86_64-darwin15]
-                on 2018-02-21 14:36:34 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-21 15:36:39 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
@@ -94,8 +94,9 @@
 <h1 id="raspberry-pi--gears-os">Raspberry Pi 上での Gears OS</h1>
 <ul>
   <li>本研究室では Code Segment と Data Segment という単位でプログラムを記述する CbC(Continuation base C) とCbC を用いて実装する Gears OS の研究を行っている。</li>
-  <li>CbC はCode Segment は並列処理の単位として利用でき, Data Segment はデータそのもので型を持っていて,CbC はメタレベルの処理,並列処理を記述することができる。</li>
-  <li>本研究では,Raspberry Pi で Gears OS を動かせるようになる事で、ハードウェア上でもメタレベルの処理、並列実行ができるプログラミングを記述できるようになる事を目指している。</li>
+  <li>Code Segment は並列処理の単位として利用でき、Data Segment はデータそのもので型を持っていて、CbC はメタレベルの処理、並列処理を記述することができる。</li>
+  <li>メタレベルの処理では、メモリ管理、スレッド管理、CPU や GPU の資源管理を記述 することができる。</li>
+  <li>本研究では、ARM で動くシングルボードコンピュータである Raspberry Pi で Gears OS を動かせるようになる事で、ハードウェア上でもメタレベルの処理、並列実行ができるプログラミングを記述できるようになる事を目指している。</li>
 </ul>
 
 
@@ -106,7 +107,7 @@
 <ul>
   <li>Raspberry Pi 1 のメモリは 256MB と小さいため、 CbC を make することができない。</li>
   <li>Raspberry Pi 3 だとメモリは 1GB あり CbC を make できるが、時間がかかる。</li>
-  <li>make 時間の比較として研究室のサーバでメモリ 16GB の firefly と学科のサーバの一つ で Linux 環境であるメモリ 756GB の Dell PowerEdge630(DALMORE)を用いる。</li>
+  <li>make 時間の比較として研究室のメモリ 16GB のサーバ(firefly) と学科のサーバの一つ で Linux 環境であるメモリ 756GB の Dell PowerEdge630(DALMORE)を用いる。</li>
   <li>それぞれのサーバではGoogleによって開発されたbuildシステムninja-buildをもちいてmakeを行なった。</li>
   <li>ninja-buildはコア数を調べて実行するので使わない場合と比べてmakeが高速になる。</li>
 </ul>
@@ -127,7 +128,7 @@
   <li>CrossCompile を行うことで make 時間の問題を解決する方法がある。</li>
   <li>CrossCompile と は、別の OS で実行可能なコードを生成するコンパイルの手法である。</li>
   <li>Raspbian 以外の OS 環境であらかじめ Raspberry Pi で CbC が動くように CrossCompile を行い、その コードを Raspberry Pi に移す事で、実行できるようになる。</li>
-  <li>Raspberry Pi の OS である Rasbian は qemu によるメモリの拡張もできないので、別 の手法で Raspberry Pi 上に CbC を実装する方が好ましい。</li>
+  <li>Raspberry Pi の OS である Rasbian は qemu によるメモリの拡張もできないので、別の手法で Raspberry Pi 上に CbC を実装する方が好ましい。</li>
 </ul>
 
 
@@ -138,8 +139,14 @@
 <ul>
   <li>Linux環境でCbCを動かす際にCrossCompileを行なう方法がある。</li>
   <li>RaspberryPiはARMのコードを生成するので、LinuxでもCrossCompileによってARMのコードを生成すればRaspberry Pi でも実行可能なファイルを作ることができる。</li>
+  <li>C言語で書かれた簡単なファイルをCrossCompileしたコマンドを示す。</li>
 </ul>
 
+<pre lang="c"><code>./bin/clang -target arm-linux-gnueabi -mfpu=neon-fp16 -marm
+-I /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/
+ hello.c -c -mfloat-abi=hard
+</code></pre>
+
 
 </div>
 <div class='slide '>
@@ -160,7 +167,7 @@
 <h1 id="linuxcbc">Linux上でのCbCの実装</h1>
 <ul>
   <li>OSX上に立ち上げられたLinux で CbC のCrossCompileを行う過程を図に示す。</li>
-  <li>CbCは C によって記述されているため、CからARM.oを生成し、ARM.oからARMのa.outを出力する。</li>
+  <li>CbCは C によって記述されているため、CからARM形式の.oファイルを生成し、.oからARMのa.outを出力する。</li>
   <li>これらはARM形式なのでRaspberryPiで実行できるファイルである。</li>
 </ul>
 <div align="center"><img src="./images/OSX_Linux_VM.pdf" style="center" /></div>
@@ -261,6 +268,7 @@
 <h1 id="section">今後の課題</h1>
 
 <p>Xv6 で CbC が動くようになれば、Raspberry Pi 以外のハードウェアでの実装も容易に なるので、Linux 上での実装を目指して研究を進めていく。xv6 で CbC が動けば、続け て Linux 上で Gears OS の実装も行なっていく。</p>
+
 <!-- === end markdown block === -->
 </div>
 
--- a/slide/thesis.md	Wed Feb 21 14:38:37 2018 +0900
+++ b/slide/thesis.md	Wed Feb 21 15:39:20 2018 +0900
@@ -4,14 +4,15 @@
 
 # Raspberry Pi 上での Gears OS
 - 本研究室では Code Segment と Data Segment という単位でプログラムを記述する CbC(Continuation base C) とCbC を用いて実装する Gears OS の研究を行っている。
-- CbC はCode Segment は並列処理の単位として利用でき, Data Segment はデータそのもので型を持っていて,CbC はメタレベルの処理,並列処理を記述することができる。
-- 本研究では,Raspberry Pi で Gears OS を動かせるようになる事で、ハードウェア上でもメタレベルの処理、並列実行ができるプログラミングを記述できるようになる事を目指している。
+- Code Segment は並列処理の単位として利用でき、Data Segment はデータそのもので型を持っていて、CbC はメタレベルの処理、並列処理を記述することができる。
+- メタレベルの処理では、メモリ管理、スレッド管理、CPU や GPU の資源管理を記述 することができる。
+- 本研究では、ARM で動くシングルボードコンピュータである Raspberry Pi で Gears OS を動かせるようになる事で、ハードウェア上でもメタレベルの処理、並列実行ができるプログラミングを記述できるようになる事を目指している。
 
 
 # RaspberryPi上でCbCのmake
 - Raspberry Pi 1 のメモリは 256MB と小さいため、 CbC を make することができない。
 - Raspberry Pi 3 だとメモリは 1GB あり CbC を make できるが、時間がかかる。
-- make 時間の比較として研究室のサーバでメモリ 16GB の firefly と学科のサーバの一つ で Linux 環境であるメモリ 756GB の Dell PowerEdge630(DALMORE)を用いる。
+- make 時間の比較として研究室のメモリ 16GB のサーバ(firefly) と学科のサーバの一つ で Linux 環境であるメモリ 756GB の Dell PowerEdge630(DALMORE)を用いる。
 - それぞれのサーバではGoogleによって開発されたbuildシステムninja-buildをもちいてmakeを行なった。
 - ninja-buildはコア数を調べて実行するので使わない場合と比べてmakeが高速になる。
 
@@ -22,11 +23,18 @@
 - CrossCompile を行うことで make 時間の問題を解決する方法がある。
 - CrossCompile と は、別の OS で実行可能なコードを生成するコンパイルの手法である。
 - Raspbian 以外の OS 環境であらかじめ Raspberry Pi で CbC が動くように CrossCompile を行い、その コードを Raspberry Pi に移す事で、実行できるようになる。
-- Raspberry Pi の OS である Rasbian は qemu によるメモリの拡張もできないので、別 の手法で Raspberry Pi 上に CbC を実装する方が好ましい。
+- Raspberry Pi の OS である Rasbian は qemu によるメモリの拡張もできないので、別の手法で Raspberry Pi 上に CbC を実装する方が好ましい。
 
 # Linux CrossCompile
 - Linux環境でCbCを動かす際にCrossCompileを行なう方法がある。
 - RaspberryPiはARMのコードを生成するので、LinuxでもCrossCompileによってARMのコードを生成すればRaspberry Pi でも実行可能なファイルを作ることができる。
+- C言語で書かれた簡単なファイルをCrossCompileしたコマンドを示す。
+
+```c
+./bin/clang -target arm-linux-gnueabi -mfpu=neon-fp16 -marm
+-I /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/
+ hello.c -c -mfloat-abi=hard
+```
 
 # T図形
 - CbC を Raspberry Pi で動かすためのアプローチの手法をを、I と T の形をした図の組み合わせによって説明を行う。 
@@ -37,7 +45,7 @@
 
 # Linux上でのCbCの実装
 - OSX上に立ち上げられたLinux で CbC のCrossCompileを行う過程を図に示す。
-- CbCは C によって記述されているため、CからARM.oを生成し、ARM.oからARMのa.outを出力する。
+- CbCは C によって記述されているため、CからARM形式の.oファイルを生成し、.oからARMのa.outを出力する。
 - これらはARM形式なのでRaspberryPiで実行できるファイルである。
 <div align="center"><img src="./images/OSX_Linux_VM.pdf" style="center"></div>
 
@@ -115,3 +123,7 @@
 # 今後の課題
 
 Xv6 で CbC が動くようになれば、Raspberry Pi 以外のハードウェアでの実装も容易に なるので、Linux 上での実装を目指して研究を進めていく。xv6 で CbC が動けば、続け て Linux 上で Gears OS の実装も行なっていく。
+
+
+
+
--- a/slide/thesis.pdf.html	Wed Feb 21 14:38:37 2018 +0900
+++ b/slide/thesis.pdf.html	Wed Feb 21 15:39:20 2018 +0900
@@ -70,7 +70,7 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.1 (2017-03-22) [x86_64-darwin15]
-                on 2018-02-21 14:36:34 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-21 15:36:39 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
@@ -78,8 +78,9 @@
 <h1 id="raspberry-pi--gears-os">Raspberry Pi 上での Gears OS</h1>
 <ul>
   <li>本研究室では Code Segment と Data Segment という単位でプログラムを記述する CbC(Continuation base C) とCbC を用いて実装する Gears OS の研究を行っている。</li>
-  <li>CbC はCode Segment は並列処理の単位として利用でき, Data Segment はデータそのもので型を持っていて,CbC はメタレベルの処理,並列処理を記述することができる。</li>
-  <li>本研究では,Raspberry Pi で Gears OS を動かせるようになる事で、ハードウェア上でもメタレベルの処理、並列実行ができるプログラミングを記述できるようになる事を目指している。</li>
+  <li>Code Segment は並列処理の単位として利用でき、Data Segment はデータそのもので型を持っていて、CbC はメタレベルの処理、並列処理を記述することができる。</li>
+  <li>メタレベルの処理では、メモリ管理、スレッド管理、CPU や GPU の資源管理を記述 することができる。</li>
+  <li>本研究では、ARM で動くシングルボードコンピュータである Raspberry Pi で Gears OS を動かせるようになる事で、ハードウェア上でもメタレベルの処理、並列実行ができるプログラミングを記述できるようになる事を目指している。</li>
 </ul>
 
 
@@ -90,7 +91,7 @@
 <ul>
   <li>Raspberry Pi 1 のメモリは 256MB と小さいため、 CbC を make することができない。</li>
   <li>Raspberry Pi 3 だとメモリは 1GB あり CbC を make できるが、時間がかかる。</li>
-  <li>make 時間の比較として研究室のサーバでメモリ 16GB の firefly と学科のサーバの一つ で Linux 環境であるメモリ 756GB の Dell PowerEdge630(DALMORE)を用いる。</li>
+  <li>make 時間の比較として研究室のメモリ 16GB のサーバ(firefly) と学科のサーバの一つ で Linux 環境であるメモリ 756GB の Dell PowerEdge630(DALMORE)を用いる。</li>
   <li>それぞれのサーバではGoogleによって開発されたbuildシステムninja-buildをもちいてmakeを行なった。</li>
   <li>ninja-buildはコア数を調べて実行するので使わない場合と比べてmakeが高速になる。</li>
 </ul>
@@ -111,7 +112,7 @@
   <li>CrossCompile を行うことで make 時間の問題を解決する方法がある。</li>
   <li>CrossCompile と は、別の OS で実行可能なコードを生成するコンパイルの手法である。</li>
   <li>Raspbian 以外の OS 環境であらかじめ Raspberry Pi で CbC が動くように CrossCompile を行い、その コードを Raspberry Pi に移す事で、実行できるようになる。</li>
-  <li>Raspberry Pi の OS である Rasbian は qemu によるメモリの拡張もできないので、別 の手法で Raspberry Pi 上に CbC を実装する方が好ましい。</li>
+  <li>Raspberry Pi の OS である Rasbian は qemu によるメモリの拡張もできないので、別の手法で Raspberry Pi 上に CbC を実装する方が好ましい。</li>
 </ul>
 
 
@@ -122,8 +123,14 @@
 <ul>
   <li>Linux環境でCbCを動かす際にCrossCompileを行なう方法がある。</li>
   <li>RaspberryPiはARMのコードを生成するので、LinuxでもCrossCompileによってARMのコードを生成すればRaspberry Pi でも実行可能なファイルを作ることができる。</li>
+  <li>C言語で書かれた簡単なファイルをCrossCompileしたコマンドを示す。</li>
 </ul>
 
+<pre lang="c"><code>./bin/clang -target arm-linux-gnueabi -mfpu=neon-fp16 -marm
+-I /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/
+ hello.c -c -mfloat-abi=hard
+</code></pre>
+
 
 </div>
 <div class='slide '>
@@ -144,7 +151,7 @@
 <h1 id="linuxcbc">Linux上でのCbCの実装</h1>
 <ul>
   <li>OSX上に立ち上げられたLinux で CbC のCrossCompileを行う過程を図に示す。</li>
-  <li>CbCは C によって記述されているため、CからARM.oを生成し、ARM.oからARMのa.outを出力する。</li>
+  <li>CbCは C によって記述されているため、CからARM形式の.oファイルを生成し、.oからARMのa.outを出力する。</li>
   <li>これらはARM形式なのでRaspberryPiで実行できるファイルである。</li>
 </ul>
 <div align="center"><img src="./images/OSX_Linux_VM.pdf" style="center" /></div>
@@ -245,6 +252,7 @@
 <h1 id="section">今後の課題</h1>
 
 <p>Xv6 で CbC が動くようになれば、Raspberry Pi 以外のハードウェアでの実装も容易に なるので、Linux 上での実装を目指して研究を進めていく。xv6 で CbC が動けば、続け て Linux 上で Gears OS の実装も行なっていく。</p>
+
 <!-- === end markdown block === -->
 </div>