annotate introduction.tex @ 4:593671347b01

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 21 Apr 2014 22:16:31 +0900
parents 2921110c23aa
children 679859bf2fe8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
1 \section{はじめに}
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
2 GPU の普及と高性能化にともない、GPU の演算資源を画像処理以外の目的にも利用する GPGPU(GPU による汎目的計算)が注目されている。
2
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
3 GPU 以外にも Cell, SpursEngine, Xeon Phi など様々なプロセッサが存在する。
3
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
4 それぞれのプロセッサを利用するにはそれぞれ異なる API を利用する必要があり、それらの対応に多くの時間を取られてしまいプログラムの性能改善に集中することができない。
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
5 また、GPU や Cell などメモリ空間が異なるプロセッサはデータの転送がオーバーヘッドとなるので、データ転送を効率的に行えるかどうかで処理時間が大きく変わる。
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
6
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
7 当研究室で開発・改良が行われている並列プログラミングフレームワーク Cerium は様々なプロセッサを統合して扱えるフレームワークを目指している。
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
8 様々なプロセッサを統合して扱えるフレームワークとしてフランス国立情報学自動制御研究所(INRIA)が開発している StarPU がある。
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
9 StarPU は Cerium と同じタスクベースの非同期フレームワークである。
4
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
10 %% ちゃんと論文を引用する
3
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
11 タスクという単位で記述することで処理とデータを分離し、より効率的に処理を行うことができる。
2
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
12 StarPU にはパイプラインでの実行機構は入ってなく、パイプライン処理を行いたい場合は自分で実装するしかない。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
13 しかし、パイプライン処理を書くことは非常に煩雑で難しい。
3
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
14 そこで、今回 Cerium に OpenCL, CUDA を用いた Scheduler を新たに実装した。
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
15 Scheduler は自動でデータ転送をオーバーラップし、パイプラインで処理を行うように設計した。
1
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
16
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
17 本論文では、まず OpenCL, CUDA について説明する。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
18 その後、既存の Cerium の実装および新たに実装した GPU 実行の機構について説明する。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
19 最後に WordCount, FFT を例題として測定し、評価を行う。