# HG changeset patch # User Masataka Kohagura # Date 1391931275 -32400 # Node ID 5358fc3a1d7d48bef8e5045621e010d6baf4636d # Parent dd04469c2ae90ea66c60af29e1dcbe1573dcbd68 add block read images diff -r dd04469c2ae9 -r 5358fc3a1d7d slide/example.text --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slide/example.text Sun Feb 09 16:34:35 2014 +0900 @@ -0,0 +1,337 @@ + + + + + example + + + + + + + + +
+ + +
+

Cerium による並列処理向け I/O の設計と実装

+

Masataka Kohagura 12th, February

+
担当教官 : 河野 真治
+
+
+

研究背景と目的

+

+ 近年のCPUのほとんどはマルチコアであり、それらの性能を引き出すためには並列プログラミングが必須となっている。そこで当研究室では Cerium Library の開発を行い、提供することによって並列プログラミングを容易にしている。 +

+

+ 先行研究では Task の並列化によって、プログラム全体の処理速度は向上しているが、ファイル読み込み等の I/O に対して並列に Task が動作するようにはされていない。 +

+

+ 本研究では I/O と Task の並列化の設計、実装によってプログラム全体の処理速度、処理効率を上げていく。 +

+
+ +
+

Cerium とは

+ + + + + + + +
+
    +
  1. Taskを生成
  2. +
  3. 依存関係のチェック
  4. +
  5. Schedulerに転送
  6. +
  7. 並列実行
  8. +
+
+

+ CpuThreads、Schedulerに対応させる形でGpuThreadsとGpuSchedulerを作成した +

+
+ + +
+

GPU Task実行の流れ

+
+

kernel fileの記述

+
__kernel void // kernel.cl(kernel file)
+twice(__global int *input_data,__global int *output_data) {
+    long count = (long)data_count[0];
+    for (int i = 0; i< count; i++) {
+        output_data[i] = input_data[i] * 2;;
+    }
+}
+
+
+ +
+

GPU Task 実行の流れ

+
+

kernelをTaskとしてCeriumに登録

+
void
+task_init(void) { // task_init.cc
+    GpuSchedRegister(Twice, "./twice.cl", "twice");
+}
+ + + + + + + + + + + + + + + +
第1引数
Twice
Taskのid。enumで定義されている
TaskManagerはこの値でTaskを識別する
第2引数
"./twice.cl"
OpenCLが処理するkernelが記述されているファイルのパス
第3引数
"twice"
関数の指定。kernel file内にある、実行する関数名を指定
+ Taskにあたる部分
+
+ +
+

GPU Task 実行の流れ


+

GPU Task生成

+
// main.cc
+HTaskPtr twice = manager->create_task(Twice);
+twice->set_inData(0, indata, sizeof (int)*length);
+// twice->set_inData(1, indata2, sizeof (int)*length);
+twice->set_outData(0, outdata, sizeof (int)*length);
+twice->set_cpu(GPU);
+twice->spawn();
+        
+
+ +
+

Cerium OpenCL API比較

+ +
+ +
+

ベンチマーク

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time
1 CPU 796 ms
2 CPU 439 ms
6 CPU 153 ms
12 CPU 96 ms
24 CPU 89 ms
GPU(改良前) 330752 ms
GPU(改良後) 5306 ms
+
+

10万入力によるBitonic Sort

+ +

実験環境

+ OS : MacOS 10.8.2
+ CPU : 2*2.66GHz 6-CoreIntel Xeon
+ Memory : 16GB
+ Compiler : Apple clang version 4.1
     (based on LLVM 3.1svn)
+ GPU : AMD ATI Radeon HD 5870 1024MB
+
+

結果

+ 1coreのCPUよりも10倍遅い +
+

+ 充分な性能が出なかったため、一度に送信する + data のサイズを増やす改善を行ったところ、 + 約60倍程実行速度が向上した +

+
+
+

考察

+

+ 性能向上は見られたが、CPUと比べると未だ差が開いている + GPU向けに適切なチューニングが今後の課題となる +


+

改善案

+
    +
  • データ並列によるkernelの実行
  • +
  • 同期機構の見直し
  • +
+
+
+

データ並列

+

+ データを2、3次元に分割し、分割した部分に対して並列処理する並列化手法。 +

+

+ OpenCL ではin/outするデータ郡をWork Itemと呼ぶ。 +

+ + + + + + + +
各Work Item のサイズを指定するとOpenCLがデータ並列で実行する。
+
+
+

同期機構

+

+ GpuSchedulerはCommand Queueの内部でパイプライン的に実行を行っている。 + パイプラインを構成するには処理にwaitをかける必要がある。現在はclWaitForEvent APIを使用 +

+ + + + + + + + + + + + + + + +
API機能
clFlush()Command Queueに投入したTask全てをDeviceで実行する
clWaitForEvent()特定の処理の終了を待つ
+

clFlushは実行は保証するが、終了は保証しない仕様になっている

+
+
+

新しい同期

+ + + + + + + + + + + + + + + +
FrameWorkDependency
CeriumTask Dependency
OpenCLData Dependency
+

+ Task Dependency:Schedulerで依存関係が決定
+ Data Dependency:GPUに読み込まれた時に決定 +

+

+ GPGPUはなるべくGPU内部で処理を行う方が高速なため、性能向上が見込める +

+
+
+

まとめ

+
    +
  • Cerium Task ManagerをGPGPUに対応
  • +
  • 同期機構の実装
  • +
  • マルチコア実行とGPU実行のベンチマーク
  • +
+

今後の課題

+
    +
  • データ並列による実行のサポート
  • +
  • 同期機構の見直し
  • +
+
+
+

ベンチマーク

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time
1 CPU 67 ms
2 CPU 34 ms
6 CPU 12 ms
12 CPU 9 ms
24 CPU 6 ms
GPU 10201 ms
+
+

word count

+ +

10MBのテキストファイルを分割
+ 各Taskがcountしていく

+

スペースと改行区切りでword countしていく

+
+

結果

+ CPUの方が150倍早い +
+
+ + + diff -r dd04469c2ae9 -r 5358fc3a1d7d slide/images/blockread.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slide/images/blockread.graffle Sun Feb 09 16:34:35 2014 +0900 @@ -0,0 +1,1413 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {1118.0000095367432, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-02-09 05:44:46 +0000 + Creator + MasaKoha + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{357.08364218858679, 114.11796421200174}, {117.17557525634766, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 51 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 wait for Block Read} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 50 + Points + + {315.13851562043698, 161.59065638675386} + {347.94701981880377, 112.79109157158547} + {465.84379024320918, 111.98463996488459} + {495.25158715502442, 109.30057776685895} + {500.12234018095819, 95.419851496158557} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{132.534356846745, 260.85030126763434}, {90.301677147979419, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 49 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 : Task} + VerticalPad + 0 + + + + Bounds + {{127.52052800032007, 256.48856082167418}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 48 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.34285714277142854, 0.39999999989999996} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + VerticalPad + 0 + + + + Bounds + {{169.46565625717761, 116.64945239864061}, {117.17557525634766, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 47 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 wait for Block Read} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 35 + Points + + {127.5205296890278, 164.12214457339272} + {160.32903388739453, 115.32257975822434} + {278.22580431179995, 114.51612815152346} + {307.63360122361513, 111.83206595349782} + {316.7820180906424, 96.946569120097095} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{467.31381464982542, 182.74873354740973}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 44 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + VerticalPad + 0 + + + + Bounds + {{437.46591533582171, 182.74873318877891}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 43 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + VerticalPad + 0 + + + + Bounds + {{346.62991303998228, 182.74872402402892}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 42 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + VerticalPad + 0 + + + + Class + LineGraphic + ID + 41 + Points + + {392.04790672772697, 193.29891989113938} + {421.89580568000065, 193.29891989113938} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{316.7820180906424, 182.74872330676678}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 40 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + VerticalPad + 0 + + + + Bounds + {{313.82144165039062, 162.05045469102902}, {186.30089853056757, 77.732162475585938}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 39 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 10 + + + Text + + VerticalPad + 0 + + + + Bounds + {{202.47738992797417, 35.36619758605957}, {40, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 37 + Line + + ID + 36 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 L \'d7 n} + + Wrap + NO + + + Class + LineGraphic + ID + 36 + Points + + {130.31793079084193, 53} + {316.61881757391484, 53} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{138.47753705470407, 200.45055578159429}, {17, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 33 + Line + + ID + 12 + Offset + 5.6338024139404297 + Position + 0.55268216133117676 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 L} + + Wrap + NO + + + Class + LineGraphic + ID + 12 + Points + + {130.48113675808872, 218.08435819553472} + {160.32903388739453, 218.08435819553472} + + Style + + stroke + + HeadArrow + NegativeControls + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + NegativeControls + TailScale + 1.5000001192092896 + + + + + Bounds + {{281.01292658830198, 182.74872597624517}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 27 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n} + VerticalPad + 0 + + + + Bounds + {{251.16502727429832, 182.74872561761435}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 26 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n-1} + VerticalPad + 0 + + + + Bounds + {{160.3290249784589, 182.74871645286436}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 24 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 2} + VerticalPad + 0 + + + + Bounds + {{313.82143275692181, 66.994954854313676}, {186.30090742403638, 26.513425745788396}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 23 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Block Read Task 2} + VerticalPad + 0 + + VFlip + YES + + + Bounds + {{38.44924728285028, 190.34130162749304}, {90.301677147979419, 21.150452653523161}} + Class + ShapedGraphic + ID + 16 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task Blocks} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 13 + Points + + {205.74701866620359, 193.29891231997482} + {235.59491761847727, 193.29891231997482} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{130.48113002911896, 182.74871573560222}, {29.847899314003456, 22.72348499415148}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 8 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientCenter + {0.28571428564285711, 0.41904761894285708} + GradientColor + + w + 0.666667 + + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 1} + VerticalPad + 0 + + + + Bounds + {{21.312162570874957, 67.44186876119862}, {124.5758510885605, 21.150452653523161}} + Class + ShapedGraphic + ID + 7 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Block Read} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 6 + Points + + {564.29919434705835, 79.751670304860085} + {507.85558210700884, 79.751670304860085} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{130.31792757216198, 67.44185934329812}, {183.50350064743338, 26.513425745788396}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 1 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 6 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Block Read Task 1} + VerticalPad + 0 + + VFlip + YES + + + Bounds + {{127.5205296890278, 162.05045551239701}, {186.30089853056757, 77.732170104980469}} + Class + ShapedGraphic + FontInfo + + Font + HiraKakuProN-W3 + Size + 12 + + ID + 38 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 10 + + + Text + + VerticalPad + 0 + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 2 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-02-09 07:30:03 +0000 + Modifier + MasaKoha + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595.00000476837158, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + Frame + {{-112, -0}, {1300, 878}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{30.857142857142858, 21.714285714285715}, {665.71428571428567, 422.28571428571428}} + Zoom + 1.75 + ZoomValues + + + キャンバス 1 + 1.75 + 1.7000000476837158 + + + + + diff -r dd04469c2ae9 -r 5358fc3a1d7d slide/images/blockread.png Binary file slide/images/blockread.png has changed diff -r dd04469c2ae9 -r 5358fc3a1d7d slide/images/cerium_resource.png Binary file slide/images/cerium_resource.png has changed diff -r dd04469c2ae9 -r 5358fc3a1d7d slide/images/multicore_arch.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slide/images/multicore_arch.graffle Sun Feb 09 16:34:35 2014 +0900 @@ -0,0 +1,1070 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.16.0.171715 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {1118, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-02-20 04:30:20 +0000 + Creator + yuhi + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{433, 68.5}, {67, 37}} + Class + ShapedGraphic + ID + 4 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 command\ +queue} + + + + Bounds + {{428, 49}, {77, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 44 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\i\fs24 \cf0 GpuScheduler} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 17 + + ID + 43 + Points + + {500, 87} + {549, 87} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + FilledArrow + + + Tail + + ID + 4 + + + + Class + LineGraphic + Head + + ID + 16 + + ID + 39 + Points + + {370, 80.5} + {423, 80.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + FilledArrow + + + Tail + + ID + 15 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 38 + Points + + {283, 80.5} + {230, 111} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 15 + Info + 4 + + + + Class + LineGraphic + Head + + ID + 15 + Info + 4 + + ID + 37 + Points + + {230, 42} + {283, 80.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 8 + Info + 3 + + + + Class + LineGraphic + Head + + ID + 1 + Info + 3 + + ID + 32 + Points + + {146, 111} + {104, 80.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 9 + Info + 4 + + + + Class + LineGraphic + Head + + ID + 3 + Info + 4 + + ID + 31 + Points + + {104, 80.5} + {146, 42} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 1 + Info + 3 + + + + Bounds + {{549, 68.5}, {47, 37}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 17 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\i\fs24 \cf0 GPU} + + + + Bounds + {{423, 44.5}, {95, 72}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 16 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{283, 62}, {87, 37}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 15 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 G +\f1\i puThreads} + + + + Bounds + {{141, 80}, {105, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 14 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Output Data Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{141, 9}, {95, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 13 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input Data Queue} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{209, 98}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 12 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{188, 98}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 11 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{167, 98}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 10 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{146, 98}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 9 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{209, 29}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 8 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{188, 29}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 7 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{167, 29}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 6 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{146, 29}, {21, 26}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 3 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Bounds + {{17, 62}, {87, 37}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 1 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {1, 1} + {1, -1} + {-1, 1} + {-1, -1} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\i\fs24 \cf0 TaskManager} + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 2 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-02-20 04:46:10 +0000 + Modifier + yuhi + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{441, 92}, {832, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {697, 783}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r dd04469c2ae9 -r 5358fc3a1d7d slide/images/multicore_arch.png Binary file slide/images/multicore_arch.png has changed