view prepaper/Introduction.tex @ 9:346b04bec592 default tip

commit
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Mon, 16 Feb 2015 14:47:18 +0900
parents 930d0024bc6f
children
line wrap: on
line source

\section{研究目的}
PS3 および Linux、Mac OS X 上で動く並列プログラミングフレームワーク、Cerium Task Manager\cite{gongo:2008a}の開発・完了を行なっている。

Cell だけでなく、GPU のような異なるアーキテクチャを搭載した CPU、つまりヘテロジニアスな CPU が増えてきた。
GPU の普及と高性能化にともない、GPU の演算資源を画像処理以外の目的にも利用する GPGPU(GPU による汎目的計算)が注目されている\cite{FFTonGPU}。

特定の計算に特化した Task の生成やスケジューリングを行い、高い並列度を出すという研究は様々な分野で行われている。
特定の計算に限らず、GPU を用いて汎用計算できるフレームワークを Cerium Task Manager は目指している。

GPU のみで計算を行った場合、Task によっては並列度が出ない場合がある。
GPU はデータ並列による実行が推奨されている。
データ並列とは多次元のデータ構造に対して、それを分割して各要素に対して処理を行うことを指す
OpenCL および CUDA にはそのための API が存在する。
また GPU は CPU とメモリ空間が異なるため、データにアクセスするためにはメモリ空間ごとコピーする必要がある。
このデータ転送部分が大きなオーバーヘッドになる。
この問題を解決するために OpenCL および CUDA を用いて、自動でデータ転送をオーバーラップし、パイプライン実行を行うよう Cerium を改良した。