9

私はCPU機能について少し学び、NEONに出くわしました。

私が読んだところによると、NEONはこれを使用するために特定のプログラミングが必要なようですが、これは完全に真実です。または、この機能を備えたCPUは、それを実現し、一部のアプリケーションのメディアプロセスを高速化する方法を見つけます。そのための特定のコード?

4

1 に答える 1

10

NEON命令を利用する方法はいくつかあります。それらのいくつかは次のとおりです。

  • ライブラリ。memcpyがNEONを使用して手作りされている可能性があります。APIの音楽/ビデオ再生ライブラリは、アクセラレーションにNEONやGPUを使用しています。麻生、それを使用するサードパリーライブラリがあります。QualcommのFastCVが良い例です
  • コンパイラが発行した命令。一部のコンパイラは、正しいオプションが提供されている場合、NEON命令を発行します。ほとんどのコンパイラは、float操作にネオンを使用しますが、それらをベクトル化しません。高速で便利なため、ユニットを単一データユニットとして使用します。GCCおよびARMコンパイラにはいくつかのベクトル化機能がありますが、それらの範囲と結果は実際には制限されています。
  • 組み込み関数を使用して手動でコーディングされたChttp: //gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.htmlこれはおそらくNEONの世界で始めるための最良の方法です。
  • 手作業でコーディングされたアセンブラ。最大のパフォーマンスを達成したい場合は、これが最適のようです。また、多大な労力とCSの知識も必要です。

  • 最後になりましたが、NEONを使用するアプリをダウンロードするだけで、NEONを使用できます。お気に入りの音楽プレーヤーとカメラアプリは、スマートフォンのNEONユニットを有効に活用します。

結論:NEONには多くの使用法がありますが、コードにNEON命令が具体的に含まれている場合にのみ使用されます。より技術的には、@ pstが言ったように、それはコードの一部によってターゲットにされなければなりません。

于 2012-07-17T06:19:45.053 に答える