Mercurial > hg > Papers > 2015 > yuhi-master
annotate paper/chapter5.tex @ 13:6277bb3a73e9
remove subsection
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 04 Feb 2015 16:34:28 +0900 |
parents | 1519674c30ab |
children | 712576635154 |
rev | line source |
---|---|
13 | 1 \chapter{GPGPU への対応} |
10
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
2 Cerium の新たな演算資源として GPU の使用を可能にした。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
3 現在、GPU のような異なる種類のアーキテクチャを搭載した CPU 、つまりヘテロジニアスな CPU が増えている。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
4 特定の計算に特化した Task の生成やスケジューリングを行い、 GPGPU により高い並列度を出す研究は様々な分野で行われている。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
5 本研究では Cerium を特定の計算に限らず、 GPU を用いて汎用計算を行えるフレームワークに改良する。 |
13 | 6 \section{OpenCL による実装} |
7 \subsection{ベンチマーク} | |
10
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
8 OpenCL を用いた GPU 対応を行った。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
9 Scheduler と CpuThreads に対応させる形で GpuScheduler と GpuThreads を実装した。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
10 GpuScheduler 内で OpenCL の API を用いて GPU の制御を行っている。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
11 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
12 受け取った TaskList からメモリバッファを作成し、 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
13 clEnqueueuWriteBuffer、clEnqueueTask、clEnqueueReadBuffer の順に CommandQueue に Enqueueしていく。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
14 Task の投入は CommandQueue を2つ用意しパイプライン的に実行を行う。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
15 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
16 Task の終了は、clWaitForEvent によって検出し、TaskManager 間の通信を担当する同期キューである mail を使って通知する。 |
1519674c30ab
dragon and firefly spec
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
17 |
13 | 18 \section{CUDA による} |
7 | 19 \subsection{ベンチマーク} |
20 | |
21 | |
22 \section{データ並列} | |
23 \subsection{ベンチマーク} |