2011-08-29 4 views
7

使用しています。基本的に私は4,800の浮動小数点数の配列を持っていた場合、それを300個のfloat16ベクトルの配列に分割します。これはSIMDを利用するでしょうか?ドゥOpenCLのベクトルの種類は、私は現在、私はこの配列を分割し、それがプロセスをスピードアップする場合は、代わりにOpenCLのベクトル型の配列を使用する場合、私は疑問に思って私のOpenCLカーネルで処理山車の大規模な配列を持つSIMD

+2

OpenCLは、基礎となるハードウェアのSIMD機能をすでに利用しているはずです。そうしないと、GPUプログラミングにはまったく役に立たないでしょう。とにかく、CPUがOpenCLの完全なドメインではないにもかかわらず、CPU上で何が行われているのかわかりません。 –

答えて

7

インテルは、実際に彼らのOpenCLのSDKが何をするかについて説明します。Writing Optimal OpenCL™ Code with Intel® OpenCL SDKを参照してください。ベンチマークに加えて、それをチェックしたいかもしれません。興味深い部分は第2.3章から始まります。

質問に答えるには:はい、SIMDを利用します。しかし、 "ベクトルデータ型を使用してCPUベクトルユニットの利用を最大化する"には、その文書を実際に読むべきです。

0

おそらく、そうでないかもしれません。これは、OpenCLの実装とプログラムが実行するハードウェアに依存します。

改善が得られるかどうかを確認する唯一の方法は、ベクタサイズの範囲(たとえば、1(スカラー)、2,4,8および16を比較)のプラットフォームおよび実装のベンチマークです。

関連する問題