研究テーマ

ずっとOpenCLについて勉強しているが、卒論の具体的なテーマについてはまだ決まっていない。
ただ漠然と興味を持ったOpenCLだけど、もう一度OpenCLはなにができるかについて考えた。
OpenCLはデバイス間の互換性を保つことが最大の役割。
 この言葉は非常に曖昧。デバイス間と一言で言っても、CPUの中のIntelとAMDのことを言っているのか、それともCPUとGPUのことを言っているのかによって大きく目指すところが違ってくる。
 もし、同じプロセッサー間のメーカー間の互換性を保つことが役割ならば、各メーカーごとのデバイスで同じプログラムを動かしてみて、性能評価するところからしなければならない。NVIDIAのCUDAとAMDのATI Streamを使った場合とOpenCLを使った場合の比較。そして差があったらなぜそれほどの差が出たかを調べ、その差を埋めるための研究をすればいい。
 もし、異なるプロセッサー間の互換性を保つことが役割ならば、、まず各プロセッサーのMAXの能力指数を図るところから始め、その差を埋めることが必要になる。CPUのシングルコア(単純な逐次での比較)とマルチコア(OpenMP等との比較)、そしてGPU(CPU)をそれぞれのデバイスの持ってる能力をOpenCLで引き出す研究をまずしなければならない。そして次にそれらが複合されたヘテロジニアスな環境下でそのプログラムがその環境のデバイスを一番見合った適材適所で割り振れるようなプログラム開発の研究をするべきだろう。そしてそれと同時に誰もが簡単にソースを使いまわせる(ワークアイテムの数を簡単に変えられる等の変更も含め)ことも必要になってくるだろう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です