Mercurial > hg > Papers > 2015 > yuhi-master
diff paper/conclusion.tex @ 40:6e74a202e975
future issue
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 16 Feb 2015 18:47:00 +0900 |
parents | 05add77d93b2 |
children | 9334c3e08e49 |
line wrap: on
line diff
--- a/paper/conclusion.tex Mon Feb 16 03:49:19 2015 +0900 +++ b/paper/conclusion.tex Mon Feb 16 18:47:00 2015 +0900 @@ -31,11 +31,31 @@ 更に、 Blocked Read による並列処理向けのI/Oの実装を行った。 I/O 専用の Thread を追加し、Task が割り込みが起きた際のオーバーヘッドを減らすことに成功した。 -一般的なfile open である mmap と read の測定も行い、BlockedRead を含めたそれぞれの読み込みに対して、 +一般的な file open である mmap と read の測定も行い、BlockedRead を含めたそれぞれの読み込みに対して、 どのような状況でより性能を発揮できるのか考察を行った。 \section{今後の課題} -メモ +Cerium による GPGPU に関して、さらなる性能向上が見込める。 +今回のベンチマークで、 Cerium による GPGPU と OpenCL 単体による GPGPU で、 +Cerium の実行時間が OpenCL の1.01倍と、ほぼ同じ結果になった。 +Cerium は Task の入出力と処理の部分をパイプラインにより並列に実行している。 +本来であれば Cerium がパイプライン処理の分だけ並列度は高くなる。 +パイプラインが適切に機能していないか、別のオーバーヘッドの存在が考えられる。 +FFT 以外にも例題を作成し、オーバーヘッド部分の特定を行う必要がある。 + +更に、GPGPU の改善案として CPU と GPU の同時実行が考えられる。 +Cerium では Task を CPU と GPU の両方に振り分けることができる。 +Task を CPU で動かす場合と GPU で動かす場合では、 +プラットフォームの得意とする計算が異なる事からも実行速度に差が生じるのは自明である。 +CPU と GPU の両方の資源を活用して Task を実行することで、高い並列度が期待できる。 +しかし Task をどの程度どのプラットフォームに振り分ければ良いかというのはあまり自明でない。 +プラットフォームに対する Task の振り分けるは、Cerium が自動で Scheduling するのが望ましい。 +基本的には GPU の方がコア数が多いため、優先して Task を振ることになる。 +データの転送がオーバーヘッドとなる際に CPU 側に Task を振ることで並列度の向上が見込める。 +依存関係のある Task を CPU と GPU に分けて振ってしまうとデバイス間の転送が起こり、 +そこでロックが起きるので注意する必要がある。 + +【メモ】 マルチコア CPU :特に無い? @@ -43,6 +63,6 @@ io : キャッシュの話。読み込みサイズが一定以上になるとキャッシュが無効になる。なんで?みたいな流れ -新設計:入れるにしてもなに書こう +新設計:入れるにしてもなにから書こう。CS、DSから? 全体:Cerium を使用したアプリケションも何か欲しい