# HG changeset patch # User Tatsuki IHA # Date 1518414510 -32400 # Node ID bc7d11285a4aaeec42854b6d414f50c971b28430 # Parent 3c127f675c45a4b00276afc36837a3db5f561388 Fix slide diff -r 3c127f675c45 -r bc7d11285a4a paper/master_paper.pdf Binary file paper/master_paper.pdf has changed diff -r 3c127f675c45 -r bc7d11285a4a paper/src/cg1.cbc --- a/paper/src/cg1.cbc Mon Feb 12 12:07:12 2018 +0900 +++ b/paper/src/cg1.cbc Mon Feb 12 14:48:30 2018 +0900 @@ -1,6 +1,5 @@ __code cg0(int a, int b) { goto cg1(a+b); - } __code cg1(int c) { diff -r 3c127f675c45 -r bc7d11285a4a slide/slide.html --- a/slide/slide.html Mon Feb 12 12:07:12 2018 +0900 +++ b/slide/slide.html Mon Feb 12 14:48:30 2018 +0900 @@ -87,18 +87,17 @@ -

メタ計算を用いた並列処理

+

並列処理の重要性

@@ -134,7 +133,7 @@
-

Code Gear、 Data Gear

+

Code Gear/Data Gear

## CUDA での呼び出し -- Gears OS では stub Code Gear で CUDA による実行を切り替える +- Gears OS では Task で実行される Code Gear の stub Code Gear で CUDA による実行を切り替える - stub Code Gear で CUDABuffer でのマッピング、 実行する kernel の読み込みを行う - stub Code Gear は CUDA で実行する際は CUDAExecutor の Code Gear に継続する @@ -606,6 +604,6 @@ - モデル検査は CbC で記述された モデル検査器である akasha を使用して行う。 モデル検査の方針としては Code Gear の並列実行を擬似並列で実行し、全ての組合せを列挙する方法で行う - OpenMP、 Goとの比較から、 Gears OS が 1CPU での動作が遅いということがわかった。 - par goto 文を使用する度に Context を生成するため、 ある程度の時間がかかってしまう - - モデル検査で par goto の Code Gear のフローを解析し、処理がかる場合は Context を生成セずに関数呼出しを行う等の最適化が必要 + - モデル検査で par goto の Code Gear のフローを解析し、処理がかる場合は Context を生成せずに関数呼出しを行う等の最適化が必要 - 現在の CUDA 実装では CPU、GPU 間のデータの通信コストがかかってしまうことが例題からわかった - - Meta Data Gear に Data Gear が CPU、 GPU のどこで所持サれているのかを持たせ、 GPU の Data Gear が CPU で必要になったときに始めてデーの通信を行う + - Meta Data Gear に Data Gear が CPU、 GPU のどこで所持されているのかを持たせ、 GPU の Data Gear が CPU で必要になったときに始めてデータの通信を行う