changeset 100:d340d73e3cd6

Fix Slide
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Tue, 13 Feb 2018 05:51:03 +0900
parents b6bad9440c4d
children cf36d04d11e7
files slide/images/cudaDataArchitecture.svg slide/slide.html slide/slide.md
diffstat 3 files changed, 59 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/slide/images/cudaDataArchitecture.svg	Tue Feb 13 05:29:47 2018 +0900
+++ b/slide/images/cudaDataArchitecture.svg	Tue Feb 13 05:51:03 2018 +0900
@@ -77,6 +77,18 @@
 <symbol overflow="visible" id="glyph0-24">
 <path style="stroke:none;" d="M 9.796875 -1.421875 L 10.1875 0 L 11.15625 0 L 11.15625 -6.015625 L 6.140625 -6.015625 L 6.140625 -4.734375 L 9.796875 -4.734375 C 9.816406 -4.210938 9.742188 -3.722656 9.578125 -3.265625 C 9.421875 -2.816406 9.1875 -2.421875 8.875 -2.078125 C 8.5625 -1.742188 8.175781 -1.484375 7.71875 -1.296875 C 7.257812 -1.109375 6.726562 -1.015625 6.125 -1.015625 C 5.488281 -1.015625 4.925781 -1.140625 4.4375 -1.390625 C 3.957031 -1.640625 3.550781 -1.972656 3.21875 -2.390625 C 2.882812 -2.816406 2.628906 -3.300781 2.453125 -3.84375 C 2.285156 -4.394531 2.203125 -4.96875 2.203125 -5.5625 C 2.203125 -6.175781 2.273438 -6.769531 2.421875 -7.34375 C 2.578125 -7.925781 2.8125 -8.441406 3.125 -8.890625 C 3.4375 -9.347656 3.84375 -9.71875 4.34375 -10 C 4.84375 -10.28125 5.4375 -10.421875 6.125 -10.421875 C 6.550781 -10.421875 6.953125 -10.367188 7.328125 -10.265625 C 7.710938 -10.160156 8.050781 -10.003906 8.34375 -9.796875 C 8.644531 -9.597656 8.894531 -9.34375 9.09375 -9.03125 C 9.300781 -8.71875 9.441406 -8.34375 9.515625 -7.90625 L 11.046875 -7.90625 C 10.929688 -8.570312 10.726562 -9.144531 10.4375 -9.625 C 10.144531 -10.101562 9.78125 -10.492188 9.34375 -10.796875 C 8.914062 -11.109375 8.425781 -11.335938 7.875 -11.484375 C 7.332031 -11.628906 6.75 -11.703125 6.125 -11.703125 C 5.21875 -11.703125 4.425781 -11.53125 3.75 -11.1875 C 3.070312 -10.851562 2.503906 -10.398438 2.046875 -9.828125 C 1.597656 -9.265625 1.257812 -8.609375 1.03125 -7.859375 C 0.800781 -7.109375 0.6875 -6.316406 0.6875 -5.484375 C 0.6875 -4.742188 0.804688 -4.023438 1.046875 -3.328125 C 1.296875 -2.628906 1.65625 -2.015625 2.125 -1.484375 C 2.59375 -0.953125 3.160156 -0.53125 3.828125 -0.21875 C 4.503906 0.09375 5.269531 0.25 6.125 0.25 C 6.800781 0.25 7.46875 0.117188 8.125 -0.140625 C 8.789062 -0.398438 9.347656 -0.828125 9.796875 -1.421875 Z M 9.796875 -1.421875 "/>
 </symbol>
+<symbol overflow="visible" id="glyph0-25">
+<path style="stroke:none;" d="M 8.359375 -0.03125 C 8.117188 0.101562 7.789062 0.171875 7.375 0.171875 C 7.019531 0.171875 6.738281 0.0703125 6.53125 -0.125 C 6.320312 -0.320312 6.21875 -0.644531 6.21875 -1.09375 C 5.84375 -0.644531 5.40625 -0.320312 4.90625 -0.125 C 4.414062 0.0703125 3.882812 0.171875 3.3125 0.171875 C 2.9375 0.171875 2.582031 0.128906 2.25 0.046875 C 1.914062 -0.0351562 1.625 -0.164062 1.375 -0.34375 C 1.132812 -0.53125 0.941406 -0.769531 0.796875 -1.0625 C 0.648438 -1.351562 0.578125 -1.707031 0.578125 -2.125 C 0.578125 -2.59375 0.65625 -2.976562 0.8125 -3.28125 C 0.976562 -3.582031 1.191406 -3.820312 1.453125 -4 C 1.710938 -4.1875 2.007812 -4.328125 2.34375 -4.421875 C 2.675781 -4.523438 3.019531 -4.609375 3.375 -4.671875 C 3.75 -4.742188 4.101562 -4.796875 4.4375 -4.828125 C 4.769531 -4.867188 5.066406 -4.925781 5.328125 -5 C 5.585938 -5.070312 5.789062 -5.171875 5.9375 -5.296875 C 6.082031 -5.429688 6.15625 -5.628906 6.15625 -5.890625 C 6.15625 -6.191406 6.097656 -6.429688 5.984375 -6.609375 C 5.878906 -6.785156 5.738281 -6.921875 5.5625 -7.015625 C 5.382812 -7.117188 5.1875 -7.1875 4.96875 -7.21875 C 4.75 -7.25 4.53125 -7.265625 4.3125 -7.265625 C 3.738281 -7.265625 3.257812 -7.15625 2.875 -6.9375 C 2.488281 -6.71875 2.28125 -6.304688 2.25 -5.703125 L 0.890625 -5.703125 C 0.910156 -6.210938 1.015625 -6.640625 1.203125 -6.984375 C 1.398438 -7.335938 1.660156 -7.625 1.984375 -7.84375 C 2.304688 -8.0625 2.671875 -8.21875 3.078125 -8.3125 C 3.492188 -8.414062 3.9375 -8.46875 4.40625 -8.46875 C 4.769531 -8.46875 5.132812 -8.4375 5.5 -8.375 C 5.875 -8.320312 6.207031 -8.210938 6.5 -8.046875 C 6.800781 -7.890625 7.039062 -7.660156 7.21875 -7.359375 C 7.40625 -7.054688 7.5 -6.664062 7.5 -6.1875 L 7.5 -1.9375 C 7.5 -1.613281 7.515625 -1.378906 7.546875 -1.234375 C 7.585938 -1.085938 7.71875 -1.015625 7.9375 -1.015625 C 8.050781 -1.015625 8.191406 -1.039062 8.359375 -1.09375 Z M 6.140625 -4.265625 C 5.972656 -4.140625 5.75 -4.046875 5.46875 -3.984375 C 5.195312 -3.929688 4.90625 -3.882812 4.59375 -3.84375 C 4.289062 -3.8125 3.984375 -3.769531 3.671875 -3.71875 C 3.367188 -3.664062 3.09375 -3.585938 2.84375 -3.484375 C 2.601562 -3.378906 2.40625 -3.226562 2.25 -3.03125 C 2.09375 -2.832031 2.015625 -2.5625 2.015625 -2.21875 C 2.015625 -2 2.054688 -1.8125 2.140625 -1.65625 C 2.234375 -1.5 2.351562 -1.375 2.5 -1.28125 C 2.644531 -1.1875 2.8125 -1.117188 3 -1.078125 C 3.195312 -1.035156 3.398438 -1.015625 3.609375 -1.015625 C 4.054688 -1.015625 4.441406 -1.070312 4.765625 -1.1875 C 5.085938 -1.3125 5.347656 -1.46875 5.546875 -1.65625 C 5.753906 -1.84375 5.90625 -2.046875 6 -2.265625 C 6.09375 -2.484375 6.140625 -2.6875 6.140625 -2.875 Z M 6.140625 -4.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-26">
+<path style="stroke:none;" d="M 1.03125 -8.265625 L 1.03125 0 L 2.390625 0 L 2.390625 -4.671875 C 2.390625 -5.046875 2.4375 -5.390625 2.53125 -5.703125 C 2.632812 -6.015625 2.785156 -6.285156 2.984375 -6.515625 C 3.191406 -6.753906 3.445312 -6.9375 3.75 -7.0625 C 4.050781 -7.195312 4.410156 -7.265625 4.828125 -7.265625 C 5.347656 -7.265625 5.757812 -7.113281 6.0625 -6.8125 C 6.363281 -6.519531 6.515625 -6.113281 6.515625 -5.59375 L 6.515625 0 L 7.875 0 L 7.875 -5.4375 C 7.875 -5.882812 7.828125 -6.289062 7.734375 -6.65625 C 7.640625 -7.03125 7.476562 -7.347656 7.25 -7.609375 C 7.03125 -7.878906 6.738281 -8.085938 6.375 -8.234375 C 6.019531 -8.390625 5.570312 -8.46875 5.03125 -8.46875 C 3.800781 -8.46875 2.90625 -7.960938 2.34375 -6.953125 L 2.296875 -6.953125 L 2.296875 -8.265625 Z M 1.03125 -8.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-27">
+<path style="stroke:none;" d="M 8.15625 -0.703125 L 8.15625 -8.265625 L 6.875 -8.265625 L 6.875 -7.09375 L 6.859375 -7.09375 C 6.617188 -7.550781 6.28125 -7.894531 5.84375 -8.125 C 5.40625 -8.351562 4.925781 -8.46875 4.40625 -8.46875 C 3.6875 -8.46875 3.082031 -8.328125 2.59375 -8.046875 C 2.101562 -7.773438 1.707031 -7.429688 1.40625 -7.015625 C 1.101562 -6.597656 0.890625 -6.128906 0.765625 -5.609375 C 0.640625 -5.085938 0.578125 -4.582031 0.578125 -4.09375 C 0.578125 -3.53125 0.65625 -2.992188 0.8125 -2.484375 C 0.96875 -1.984375 1.195312 -1.539062 1.5 -1.15625 C 1.8125 -0.78125 2.195312 -0.476562 2.65625 -0.25 C 3.113281 -0.03125 3.648438 0.078125 4.265625 0.078125 C 4.804688 0.078125 5.3125 -0.0390625 5.78125 -0.28125 C 6.257812 -0.519531 6.613281 -0.894531 6.84375 -1.40625 L 6.875 -1.40625 L 6.875 -0.859375 C 6.875 -0.398438 6.828125 0.015625 6.734375 0.390625 C 6.648438 0.773438 6.503906 1.101562 6.296875 1.375 C 6.097656 1.65625 5.84375 1.867188 5.53125 2.015625 C 5.226562 2.171875 4.851562 2.25 4.40625 2.25 C 4.175781 2.25 3.9375 2.222656 3.6875 2.171875 C 3.445312 2.128906 3.222656 2.054688 3.015625 1.953125 C 2.804688 1.847656 2.628906 1.707031 2.484375 1.53125 C 2.335938 1.363281 2.257812 1.15625 2.25 0.90625 L 0.890625 0.90625 C 0.910156 1.351562 1.023438 1.734375 1.234375 2.046875 C 1.453125 2.359375 1.722656 2.609375 2.046875 2.796875 C 2.378906 2.992188 2.742188 3.132812 3.140625 3.21875 C 3.546875 3.300781 3.9375 3.34375 4.3125 3.34375 C 5.632812 3.34375 6.601562 3.003906 7.21875 2.328125 C 7.84375 1.660156 8.15625 0.648438 8.15625 -0.703125 Z M 4.359375 -1.109375 C 3.910156 -1.109375 3.535156 -1.195312 3.234375 -1.375 C 2.929688 -1.5625 2.6875 -1.804688 2.5 -2.109375 C 2.320312 -2.421875 2.195312 -2.765625 2.125 -3.140625 C 2.050781 -3.515625 2.015625 -3.882812 2.015625 -4.25 C 2.015625 -4.644531 2.054688 -5.023438 2.140625 -5.390625 C 2.234375 -5.753906 2.378906 -6.070312 2.578125 -6.34375 C 2.773438 -6.625 3.03125 -6.847656 3.34375 -7.015625 C 3.65625 -7.179688 4.03125 -7.265625 4.46875 -7.265625 C 4.894531 -7.265625 5.253906 -7.175781 5.546875 -7 C 5.847656 -6.832031 6.09375 -6.609375 6.28125 -6.328125 C 6.46875 -6.046875 6.601562 -5.726562 6.6875 -5.375 C 6.769531 -5.019531 6.8125 -4.660156 6.8125 -4.296875 C 6.8125 -3.921875 6.765625 -3.539062 6.671875 -3.15625 C 6.585938 -2.769531 6.445312 -2.421875 6.25 -2.109375 C 6.0625 -1.804688 5.8125 -1.5625 5.5 -1.375 C 5.1875 -1.195312 4.804688 -1.109375 4.359375 -1.109375 Z M 4.359375 -1.109375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-28">
+<path style="stroke:none;" d="M 0.96875 -8.265625 L 0.96875 0 L 2.34375 0 L 2.34375 -3.6875 C 2.34375 -4.21875 2.394531 -4.6875 2.5 -5.09375 C 2.601562 -5.507812 2.769531 -5.859375 3 -6.140625 C 3.238281 -6.429688 3.550781 -6.648438 3.9375 -6.796875 C 4.320312 -6.953125 4.785156 -7.03125 5.328125 -7.03125 L 5.328125 -8.46875 C 4.585938 -8.488281 3.976562 -8.335938 3.5 -8.015625 C 3.019531 -7.691406 2.613281 -7.195312 2.28125 -6.53125 L 2.25 -6.53125 L 2.25 -8.265625 Z M 0.96875 -8.265625 "/>
+</symbol>
 <symbol overflow="visible" id="glyph1-0">
 <path style="stroke:none;" d="M 0.390625 0 L 0.390625 -8.609375 L 7.21875 -8.609375 L 7.21875 0 Z M 6.140625 -1.078125 L 6.140625 -7.53125 L 1.46875 -7.53125 L 1.46875 -1.078125 Z M 6.140625 -1.078125 "/>
 </symbol>
@@ -317,5 +329,25 @@
 <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 315 548.226562 L 318 540.226562 L 312 540.226562 Z M 315 548.226562 " transform="matrix(1,0,0,1,-133,-349)"/>
 <path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414 549 L 414 423.335938 " transform="matrix(1,0,0,1,-133,-349)"/>
 <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414 415.335938 L 411 423.335938 L 417 423.335938 Z M 414 415.335938 " transform="matrix(1,0,0,1,-133,-349)"/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-14" x="252.1185" y="268.776001"/>
+  <use xlink:href="#glyph0-25" x="265.7665" y="268.776001"/>
+  <use xlink:href="#glyph0-19" x="274.3585" y="268.776001"/>
+  <use xlink:href="#glyph0-19" x="283.8465" y="268.776001"/>
+  <use xlink:href="#glyph0-23" x="293.3345" y="268.776001"/>
+  <use xlink:href="#glyph0-26" x="296.8865" y="268.776001"/>
+  <use xlink:href="#glyph0-27" x="305.7825" y="268.776001"/>
+  <use xlink:href="#glyph0-17" x="314.9665" y="268.776001"/>
+  <use xlink:href="#glyph0-21" x="319.4145" y="268.776001"/>
+  <use xlink:href="#glyph0-25" x="330.6785" y="268.776001"/>
+  <use xlink:href="#glyph0-4" x="339.2705" y="268.776001"/>
+  <use xlink:href="#glyph0-25" x="344.3105" y="268.776001"/>
+  <use xlink:href="#glyph0-17" x="352.9025" y="268.776001"/>
+  <use xlink:href="#glyph0-24" x="357.3505" y="268.776001"/>
+  <use xlink:href="#glyph0-13" x="369.4945" y="268.776001"/>
+  <use xlink:href="#glyph0-25" x="378.0865" y="268.776001"/>
+  <use xlink:href="#glyph0-28" x="386.6785" y="268.776001"/>
+  <use xlink:href="#glyph0-3" x="392.0065" y="268.776001"/>
+</g>
 </g>
 </svg>
--- a/slide/slide.html	Tue Feb 13 05:29:47 2018 +0900
+++ b/slide/slide.html	Tue Feb 13 05:51:03 2018 +0900
@@ -87,7 +87,7 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.3.0 (2015-12-25) [x86_64-darwin16]
-                on 2018-02-13 05:28:19 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-13 05:49:42 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
@@ -577,9 +577,9 @@
 <!-- _S9SLIDE_ -->
 <h2 id="section-4">並列構文</h2>
 <ul>
-  <li>並列実行の Task の生成は新しく Context を生成し、実行する Code Gear、待ち合わせる Input Data Gear の数、Input/Output Data Gear への参照を設定する</li>
+  <li>並列実行する際は新しく Context を生成し、実行する Code Gear、待ち合わせる Input Data Gear の数、Input/Output Data Gear への参照を設定する</li>
   <li>この記述を直接書くと Meta Data Gear である Context を直接参照しているため、ノーマルレベルでの記述では好ましくない</li>
-  <li>Task の設定は煩雑な記述であるが、並列実行されることを除けば通常の CbC の goto 文と同等である</li>
+  <li>Context の設定は煩雑な記述であるが、並列実行されることを除けば通常の CbC の goto 文と同等である</li>
   <li>そこで Context を直接参照しない並列構文、 <strong>par goto</strong> 構文を新たに考案した</li>
 </ul>
 
@@ -595,9 +595,9 @@
       <li>スクリプトによって Code Gear の Input/Output の数を解析する</li>
     </ul>
   </li>
-  <li>Task は <strong>__exit</strong> に継続することで終了する
+  <li>並列実行される Task は <strong>__exit</strong> に継続することで終了する
     <ul>
-      <li>Gears OS は Output Data Gear 生成した時点で終了するため<strong>__exit</strong> に直接継続せずに Data Gear を書き出す処理に継続する</li>
+      <li>Gears OS は Task はOutput Data Gear を書き出す処理で終了するため<strong>__exit</strong> に直接継続せずに Data Gear を書き出す処理に継続する</li>
     </ul>
   </li>
 </ul>
@@ -614,11 +614,11 @@
 <!-- _S9SLIDE_ -->
 <h2 id="cuda-">CUDA への対応</h2>
 <ul>
-  <li>Gears OS は GPU での実行もサポートする</li>
+  <li>Gears OS は GPU での実行もサポートしている</li>
+  <li>GPU で性能を出すためには GPU に合わせた並列プログラミングが必要になる</li>
+  <li>今回、CUDA に合わせた並列処理機構を Interface を用いて実装した</li>
   <li>CUDA は GPU を Device、 CPU を Host として定義する</li>
   <li>CUDA は処理の最小の単位を thread とし、それをまとめた block を展開し Device 上で実行されるプログラム(Kernel)を実行する</li>
-  <li>GPU で性能を出すためには GPU に合わせた並列プログラミングが必要になる</li>
-  <li>今回、CUDA に合わせた並列処理機構を Interface を用いて実装した</li>
 </ul>
 
 
@@ -681,9 +681,9 @@
 <!-- _S9SLIDE_ -->
 <h2 id="cuda--1">CUDA での呼び出し</h2>
 <ul>
-  <li>Gears OS では Task で実行される Code Gear の stub Code Gear で CUDA による実行を切り替える</li>
-  <li>stub Code Gear で CUDABuffer でのマッピング、実行する kernel の読み込みを行う</li>
-  <li>stub Code Gear は CUDA で実行する際は CUDAExecutor の Code Gear に継続する</li>
+  <li>Gears OS では Task に設定している Code Gear の stub Code Gear で CUDA実行を切り替える</li>
+  <li>CUDABuffer でのマッピング、実行する kernel の読み込みは stub Code Gear で行われる</li>
+  <li>CUDA で実行する際は stub Code Gear に対応する Code Gear ではなく、 CUDAExecutor の Code Gear に継続する</li>
 </ul>
 
 <div style="text-align: center;">
@@ -734,8 +734,9 @@
 <!-- _S9SLIDE_ -->
 <h2 id="twice-">Twice の結果</h2>
 <ul>
+  <li>GPU は CPU との通信時間を含めた時間、 GPU(kernel only) は kernel のみの実行時間を示している</li>
   <li>1 CPU と 32 CPU では 約27.1倍の速度向上が見られた</li>
-  <li>GPU 実行は kernel のみの実行時間は32 CPU に比べて約7.2倍の速度向上、通信時間を含めると 16 CPU より遅い</li>
+  <li>GPU は通信時間を含めると 8 CPU の約1.25倍、 kernel のみの実行では 32 CPU の約7.22倍になった</li>
   <li>通信時間がオーバーヘッドになっている</li>
 </ul>
 
@@ -932,7 +933,7 @@
   <li>その結果、 Gears OS が 1CPU での動作が遅いということがわかった。
     <ul>
       <li>par goto 文を使用する度に Context を生成するため、 ある程度の時間がかかってしまう</li>
-      <li>モデル検査で par goto の Code Gear のフローを解析し、処理がかる場合は Context を生成せずに関数呼出しを行う等の最適化が必要</li>
+      <li>モデル検査で par goto で実行する Code Gear のフローを解析し、処理が軽い場合は Context を生成せずに関数呼出しを行う等の最適化が必要</li>
     </ul>
   </li>
 </ul>
--- a/slide/slide.md	Tue Feb 13 05:29:47 2018 +0900
+++ b/slide/slide.md	Tue Feb 13 05:51:03 2018 +0900
@@ -309,15 +309,16 @@
 ## 並列構文
 - 並列実行する際は新しく Context を生成し、実行する Code Gear、待ち合わせる Input Data Gear の数、Input/Output Data Gear への参照を設定する
 - この記述を直接書くと Meta Data Gear である Context を直接参照しているため、ノーマルレベルでの記述では好ましくない
-- Task の設定は煩雑な記述であるが、並列実行されることを除けば通常の CbC の goto 文と同等である
+- Context の設定は煩雑な記述であるが、並列実行されることを除けば通常の CbC の goto 文と同等である
 - そこで Context を直接参照しない並列構文、 **par goto** 構文を新たに考案した
 
 ## par goto 構文
 - par goto 構文を記述すると新しく Context を生成し、TaskManager を通して Worker に送信される
 - par goto 構文には引数として Input/Output Data Gear等を渡す
     - スクリプトによって Code Gear の Input/Output の数を解析する
-- Task は **__exit** に継続することで終了する
-    - Gears OS は Output Data Gear 生成した時点で終了するため**__exit** に直接継続せずに Data Gear を書き出す処理に継続する
+- 並列実行される Task は **__exit** に継続することで終了する
+    - Gears OS は Task はOutput Data Gear を書き出す処理で終了するため**__exit** に直接継続せずに Data Gear を書き出す処理に継続する
+- par goto 構文は通常のプログラミングの関数呼び出しのように扱える
 
 ``` c
 __code code1(Integer *integer1, Integer * integer2, Integer *output) {
@@ -327,11 +328,11 @@
 ```
 
 ## CUDA への対応
-- Gears OS は GPU での実行もサポートする
+- Gears OS は GPU での実行もサポートしている
+- GPU で性能を出すためには GPU に合わせた並列プログラミングが必要になる
+- 今回、CUDA に合わせた並列処理機構を Interface を用いて実装した
 - CUDA は GPU を Device、 CPU を Host として定義する
 - CUDA は処理の最小の単位を thread とし、それをまとめた block を展開し Device 上で実行されるプログラム(Kernel)を実行する
-- GPU で性能を出すためには GPU に合わせた並列プログラミングが必要になる
-- 今回、CUDA に合わせた並列処理機構を Interface を用いて実装した
 
 ## CUDAWorker
 - CUDA で実行する Task を受け取る Worker
@@ -365,9 +366,9 @@
 </div>
 
 ## CUDA での呼び出し
-- Gears OS では Task で実行される Code Gear の stub Code Gear で CUDA による実行を切り替える
-- stub Code Gear で CUDABuffer でのマッピング、実行する kernel の読み込みを行う
-- stub Code Gear は CUDA で実行する際は CUDAExecutor の Code Gear に継続する
+- Gears OS では Task に設定している Code Gear の stub Code Gear で CUDA実行を切り替える
+- CUDABuffer でのマッピング、実行する kernel の読み込みは stub Code Gear で行われる
+- CUDA で実行する際は stub Code Gear に対応する Code Gear ではなく、 CUDAExecutor の Code Gear に継続する
 
 <div style="text-align: center;">
     <img src="./images/gotoCUDAExecutor.svg" alt="message" width="600">
@@ -394,8 +395,9 @@
 - GPU での実行時は1次元の block 数を 2^15、 block 内の thread 数を 2^10 で展開
 
 ## Twice の結果
+- GPU は CPU との通信時間を含めた時間、 GPU(kernel only) は kernel のみの実行時間を示している
 - 1 CPU と 32 CPU では 約27.1倍の速度向上が見られた
-- GPU 実行は kernel のみの実行時間は32 CPU に比べて約7.2倍の速度向上、通信時間を含めると 16 CPU より遅い
+- GPU は通信時間を含めると 8 CPU の約1.25倍、 kernel のみの実行では 32 CPU の約7.22倍になった
 - 通信時間がオーバーヘッドになっている
 
 <table  border="1" align='center' width='50%'>
@@ -546,7 +548,7 @@
 - OpenMP、 Go 言語で Twice を実装し、 Gears OS の性能比較を行った
 - その結果、 Gears OS が 1CPU での動作が遅いということがわかった。 
     - par goto 文を使用する度に Context を生成するため、 ある程度の時間がかかってしまう
-    - モデル検査で par goto の Code Gear のフローを解析し、処理がかる場合は Context を生成せずに関数呼出しを行う等の最適化が必要
+    - モデル検査で par goto で実行する Code Gear のフローを解析し、処理が軽い場合は Context を生成せずに関数呼出しを行う等の最適化が必要
 
 <div style="text-align: center;">
     <img src="./images/compareExamples.svg" alt="message" width="500">