0

iPad 2 (つまり、cortex-a9) で計算を行うために、 Eigen ライブラリを使用しています。一部の操作はNEON 命令を使用してベクトル化されているようですが、そうでない操作もあります。

私が試したベクトル化された操作: 内積、ベクトルと行列の加算と減算。

ベクトル化されない操作: 行列の乗算。

これらの操作を同じプロジェクトと同じファイル内で使用しているため、コンパイラ オプションは同じです。を使用して-O3 -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfpいます。

私が使用しているすべてのマトリックスには動的サイズがあります。私が間違っていることはありますか、それともこれは予想される動作ですか?

ありがとう。

4

1 に答える 1

0

gcc/clangを使用する-mfpu=neonと整数演算はベクトル化されますが、NEON は 100% IEEE 準拠ではないため (非正規数をサポートしていないため)、浮動小数点演算はベクトル化されません。-ffast-mathgcc/clang が浮動小数点コードを NEON でベクトル化するように指定する必要があります。-ffast-mathただし、数値結果に影響を与える可能性があるため、注意が必要です。

于 2013-06-10T14:36:12.367 に答える