NEON ベクトル化によるパフォーマンスに影響を与える要因

自動ベクトル化処理および生成されるコードのパフォーマンスは、以下の条件の影響を受けます。

ループの構成

最高のパフォーマンスを得るには、ネストしたループの最深部のループは 1 つのストライドで配列にアクセスする必要があります。

データの構造

データ型は NEON レジスタで保持できるデータ要素の数に影響を与え、そのために並列に実行できるオペレーションの数に影響が及びます。

ループの繰り返し回数

一般的に、繰り返し回数が多い場合は、ループのオーバーヘッドは繰り返しの中で小さくなるので、繰り返し回数が多い方が有利です。2 つか 3 の要素など、非常に繰り返し回数が少ない場合は、ベクトル化しない処理の方が早くなることがあります。

配列のデータ型

一例として、NEON では倍精度浮動小数点の配列が使用されている場合はパフォーマンスは向上しません。

メモリ階層の使用

現在のプロセッサの大部分では、メモリの帯域幅とプロセッサの容量とのバランスが相対的に取れていません。例えば、メインメモリから取得し大規模なデータセット上で比較的少ない算術演算を実行することは、システムのメモリ帯域幅によって制限されます。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0472EJ
Non-ConfidentialID081711