3.8 ストライドパターンとデータアクセス

ループ内のデータアクセスのストライドパターンとは、シーケンシャルなループの繰り返しの間にデータ要素がアクセスされるパターンです。

例えば、配列の各要素を直線的にアクセスするループは、1 つのストライドパターン(またはストライド)を持っています。使用される各要素間を一定のオフセットで配列にアクセスするループは、一定のストライドを持ちます。
float *a, *b;
int i, j=0, n;
...
for (i = 0; i < n; i++)
{
 /* a は 2 つのストライドでアクセスされる。 */
 /* b は 1 つのストライドでアクセスされる。 */
    *(a+j) = x + b[i];
    j += 2;
};
関連する参考文書
3.7 ベクトル化可能なループ内のデータ参照
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.