本サイトは、マルチコア トータルソリューションカンパニー -フィックスターズの技術者有志が運営するサイトです。

2.10 本章のまとめ

出典: PS3 Linux Information Site / Cell/B.E.のパワーを体験しよう

 本章では、SIMD演算をおこなうための解説として、以下の5項目について解説しました。

(1) SIMD演算の概要
(2) SIMDプログラミングで扱うデータ
(3) 簡単なSIMD演算
(4) 計算しやすいベクタデータの作成
(5) 条件分岐の削除

 「第2.1節 SIMD演算の概要」では、SIMD演算の特徴について解説しました。SIMD演算は複数のデータに対する処理を1命令で実行できますが、あらかじめ命令として用意されたパターンしか扱えない演算手法であることを解説しました。

 「第2.2節 SIMDプログラミングで扱うデータ」では、SIMD演算で扱うデータ型について解説しました。SIMD演算で扱うデータ型はすべて128ビット固定長で、データ型によって2から16個の要素を含みます。また、スカラ型とベクタ型それぞれの型でデータを扱いたい場合はポインタのキャストを利用して参照できることを解説しました。

 「第2.3節 簡単なSIMD演算」では、四則演算の加算を例にSIMD演算の方法について解説しました。SIMD演算はVMX命令組み込み関数を用いて演算処理をおこなうことを解説しました。

 「第2.4節 計算しやすいベクタデータの作成」では、SIMD演算で計算しやすいデータを作成する方法について解説しました。SIMD演算をおこなう際、入力データが必ずしも計算できるデータ形式になっているとは限りません。そこで、SIMD演算しやすいようなデータにするためのデータ作成方法について解説しました。

 「第2.5節 条件分岐の削除」では、SIMD演算で条件分岐の替わりとなる手法について解説しました。SIMD演算はスカラ演算のように条件分岐を各要素ごとにおこなっていては効率的ではありません。そこで、SIMD演算で条件分岐を使わずに同等の結果を求める手法について解説しました。

 本章ではこれからSIMD演算のプログラミングを続けていく上で基本となる項目を取り上げ解説しました。解説した項目それぞれの内容を理解することで、基本的なSIMDプログラミングをおこなうことができます。



第2.9節」へ戻る 第2章目次 第3章」へ進む
チュートリアル目次
表示
個人用ツール
オープンソースプロジェクト
ツールボックス