# HG changeset patch # User mir3636 # Date 1494840295 -32400 # Node ID 3969cb54328a2679bf1296313293e82efd3b91d4 # Parent 14c29d30af86c1800f9230b1b99794d1a91bc72c update slide diff -r 14c29d30af86 -r 3969cb54328a presen/slide.md --- a/presen/slide.md Mon May 15 18:14:36 2017 +0900 +++ b/presen/slide.md Mon May 15 18:24:55 2017 +0900 @@ -6,14 +6,15 @@ # メタ計算を使った並列処理 -- 並列処理のプラグラミングは、処理のパイプライン +- 並列処理のプログラミングはチューニングや信頼性の確保が困難である。 +- これらのチューニングや信頼性の確保を、アルゴリズムから分離しメタ計算で行う - 当研究室ではメタ計算をサポートする言語として Continuation based C (CbC) を開発している - CbC は Code Gear と Data Gear という処理とデータの単位を持っており、メタ計算を行うための Meta Code Gear、Meta Data Gear がある。 - Gears OS は CbC を用いて記述されている。 # Code Gear Data Gear -- Code Gear Data Gear とはプラグラムを分解し、処理の部分を Code Gear int や文字列などの部分を Data Gear という単位で分ける。 +- Code Gear Data Gear とはプログラムを分解し、処理の部分を Code Gear、int や文字列などの部分を Data Gear という単位で分割したものである。 - Code Gearの処理はその処理に必要な Data Gear が揃ってから行われる。 - Code Gear の処理の移行は goto を使って行い、この移行の仕方を継続という。 - goto による移行は戻り値を持たないため、スタックを積む必要のない、スタックに積まない継続を軽量継続と呼ぶ。 @@ -96,6 +97,30 @@ - CUDA ライブラリの初期化を行う以外の動作はCPUWoker と全く同じとなる。 - GPU へのデータ転送及びGPU側でのTaskの実行はTaskのMeta Code Gear で行われる。 + + + + # 依存関係の解決 - Gears での依存関係の解決は Data Gear にQueueをもたせることで行う - Queue には その Data Gear を待っている Task が入っている