Mercurial > hg > Papers > 2015 > yuhi-master
changeset 66:23baf2b3eff6
conclusion
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 03:49:04 +0900 |
parents | a41beec3553e |
children | a63c2d9d7db9 |
files | slide/blank.html |
diffstat | 1 files changed, 48 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/slide/blank.html Wed Feb 18 03:27:34 2015 +0900 +++ b/slide/blank.html Wed Feb 18 03:49:04 2015 +0900 @@ -837,11 +837,59 @@ <div class='slide'> <h2>まとめ</h2> + <p> + 本研究室で開発している並列プログラミングフレームワーク、Cerium を用いてマルチプラットフォームに対応した + プログラミングフレームワークに関する研究を行った。 + </p> + <p>マルチプラットフォームへの対応として、以下のことを行った。</p> + <ul> + <li> マルチコア CPU への対応 + <li> GPGPU への対応 + <li> データ並列実行のサポート + <li> 並列 I/O の実装 + <li> ベンチマークによる実装した機能の測定 + </ul> </div> <div class='slide'> <h2>今後の課題</h2> + <ul> + <li> DataDependency の追加 + <li> GpuScheduler のパイプラインの改良 + </ul> </div> + + <div class='slide'> + <h2>DataDependency</h2> + <p> + 様々なベンチマークを行ったが、特に Sort や WordCount の例題で + Task 生成部分の記述が複雑になるという問題が明らかになった。 + </p> + <p> + 例題特有の依存関係と Task を段階的に生成していくための依存関係の両方を記述しなければならず、 + その部分が非常に煩雑になっている。 + </p> + <p> + これは Task 自体に依存関係を設定している事が原因と考えられる。 + OpenCL や CUDA ではデータの依存関係(DataDependency)により暗黙的に Task 間の依存関係を設定している。 + Cerium でも DataDependency により依存関係を記述できることが望ましい。 + </div> + + <div class='slide'> + <h2>GpuScheduler のパイプラインの改良</h2> + <p> + GpuScheduler のパイプラインループ部分が複雑で、可読性を落としている。 + TaskList からパラメタを読み出し、GPU の CommandQueue を操作する処理までループに入っており、 + メインループの中に復数のループ文があり、処理が複雑になっている。 + </p> + <p> + 現状のように大きなループの中でフレームワークの API を呼び出すのではなく、 + マルチコア CPU のパイプラインのように、SchedTask を使用することが望ましい。 + Gpu 用の SchedTask を作り、SchedTask 内部の read, write, exec の部分で + GPU を制御を行う。 + </p> + </div> + </div> <!-- presentation --> </bodypp>