ベクトル化とは
べくとるか
ループの中で要素ごとに行う同じ計算を、SIMD命令を使って複数の要素にまとめて行う形に変える最適化。繰り返しの間にデータの依存がないことが条件になる。
この用語の分野: コンパイラ
べくとるか
ループの中で要素ごとに行う同じ計算を、SIMD命令を使って複数の要素にまとめて行う形に変える最適化。繰り返しの間にデータの依存がないことが条件になる。
この用語の分野: コンパイラ
ベクトル化では、例えば4つの要素の計算を1つのSIMD命令で同時に行います。
上のループを、SIMD命令を使ってベクトル化しにくい主な理由はどれか。自動ベクトル化は、配列の要素ごとに同じ計算をするループを見つけ、複数の要素をまとめて処理するSIMD命令に置き換える最適化です。
コンパイラの自動ベクトル化で使われる命令の種類として正しいものはどれか。結果の違いを許す設定(高速な数学の設定など)を選ぶと、ベクトル化のために並べ替えることもあります。
コンパイラが、浮動小数点数の足し算 (a + b) + c を、厳密な設定のもとでは a + (b + c) に勝手に…