1

math-neon というネオン用に最適化された他の無料のベクター ライブラリはありますか? コードでネオンを利用したいのですが、オブジェクトがたくさんあり、ベクトルの追加、乗算、点付けなどの単純なベクトル物理演算をたくさん行っています。これらは 3D ベクトルですが、たくさん作ることができればより高速な 2D も問題ないはずです。問題は、neon を使用する価値があるかどうかです。たとえば、100000ポイントを取りましょう。それらの動きや衝突などを計算する必要があります。現在、私は独自の数学を使用しており、インライン関数に基づいています。行列を含む仮想のネオンライブラリも使用したいとしましょう。現在私はそのためにglmを使用していますが、うまくいきますが、もっと速くなるでしょうか?私の場合、ndk の arm-abi と arm7-abi の間の速度の利点は約 30% です。

4

3 に答える 3

2

固有値を確認できます。ネオン命令サポートがアクティブ化されたときにアクティブ化される特別なコードがあります。

于 2011-08-04T10:35:21.747 に答える
0

他の誰かが言ったように、Eigen を調べる必要があります。おそらくそれで十分です。しかし、完全なパフォーマンス (30% のゲインよりもはるかに優れ、300% のゲインに近い) が必要な場合は、自分で NEON コードを使用し、内部ループ全体が NEON で完全に記述されていることを確認する必要があります (CPU または VFP コードではありません)。

ループ全体ではなく、ループの一部だけを NEON 最適化すると、大きなペナルティが発生するため、NEON コードは、通常の C コードよりも 30% だけ速くなるか、さらに遅くなる可能性があります。しかし、完全な NEON ループを使用すると、多くの場合、300% ~ 2000% のスピードアップが得られます!

ARM Cortex-A9 向けに開発している場合は、NEON C イントリンシクスで十分ですが、ARM Cortex-A8 デバイスの場合、通常、フル パフォーマンスを得るには NEON アセンブリ コードが必要です。「 http://www.shervinemami.info/armAssembly.html」で、ループ全体を NEON で最適化する方法について、さらに詳しい情報を提供します。

于 2012-11-18T13:05:13.700 に答える
-3

ターゲット アーキテクチャが NEON をサポートしている場合、つまり、armeabi-v7a 用にコンパイルされている場合、コードは NEON 用にコンパイルされます。これを行うにarmeabi-v7aは、アプリの Application.mk ファイル内のターゲットのリストに追加するだけです。

于 2011-07-30T23:22:47.157 に答える