問題タブ [neon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - ARMNEONのxorgcc組み込み関数はありません
単純なxor演算の組み込み関数は見つかりませんでした。
参照: http: //gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html
これにNEON命令を使用する方法は本当にありませんか?
c - ARM Cortex-a8 で乗算および累算組み込み関数を使用する方法は?
GCC が提供する Multiply-Accumulate 組み込み関数の使用方法は?
この関数に渡さなければならない 3 つのパラメーターを誰か説明できますか? ソースレジスタとデスティネーションレジスタ、および関数が返すものを意味しますか?
ヘルプ!!!
c++ - 線形代数のC++テンプレートライブラリであるEigenを使用するプロジェクトのビルド中にコンパイラエラーが発生しました
私のプロジェクトでは、線形代数にEigen C ++ライブラリを使用していますが、ARM NEONのベクトル化フラグ(mfpu = neon -mfloat-abi = softfp)をオンにした場合にのみ、コンパイラエラーが発生します。何が悪いのか理解できません。EigenライブラリでARMNEONのプリプロセッサディレクティブを有効にする必要がありますか?
main.c
makefile
エラー
CodeSourceryツールチェーンを使用したときに発生したエラー
c++ - CodeSourcery でコンパイル エラーが発生しました: ビット/c++config.h がありません
私のプロジェクトでは、線形代数に Eigen C++ ライブラリを使用しています。ARM NEON のベクトル化フラグ (-mfpu=neon -mfloat-abi=softfp) をオンにした場合にのみ、コンパイラ エラー - c++config.h no such file or directory が発生します。
何が問題なのか理解できません。bits/c++config.h は何ですか? この問題を解決するにはどうすればよいですか?
ヴィクラム
main.c
メイクファイル
エラー
algorithm - SIMD命令を使用して3x3マトリックス逆行列は可能ですか?
ARM Cortex-A8ベースのプロセッサを使用しており、3x3行列の逆演算を計算する場所がいくつかあります。
Cortex-a8プロセッサにはNEONSIMDプロセッサがあるため、このコプロセッサを3x3マトリックス逆行列に使用することに興味があるので、いくつかの4x4実装(Intel SSEおよびfreevec)を見ましたが、3x3行列逆行列操作が実行された場所はどこにもありませんでしたSIMD命令を使用します。freevecで使用される方法は、4x4行列を4つ、2x2行列に分割し、それぞれに対して小さな操作を実行し、最終的に結果を再結合して4x4行列の逆行列を取得することです。3x3マトリックスではそのような機会は見当たりません。
SIMD命令を使用して3x3マトリックス反転を実行する方法を知っている人はいますが、それは私にとって非常に役立ちますか?
よろしくVikram
simd - NEON SIMDを使用して2行の要素をマージする方法は?
私は
私は私と2列を持っています、
これらからどうやって得ることができますか -
これらの 2 つの行をマージできる単一の NEON SIMD 命令はありますか? または、組み込み関数を使用して可能な限り最小限の手順でこれを達成するにはどうすればよいですか?
zip/unzip組み込み関数を使用することを考えましたが、 zip 関数が返すデータ型はfloat32x2x2_t
、私には適していませんfloat32x4_t
。データ型が必要です。
arm - 8 ビットの uint8_t を uint32_t としてロードしますか?
私の画像処理プロジェクトはグレースケール画像で動作します。ARM Cortex-A8 プロセッサ プラットフォームを使用しています。NEONを活用したい。
私はグレースケールの画像を持っています (以下の例を考えてください)。私のアルゴリズムでは、列のみを追加する必要があります。
4 つの 8 ビット ピクセル値( uint8_t ) を4 つの uint32_tとして128 ビット NEON レジスタの 1 つに並列にロードするにはどうすればよいですか? これを行うには、どの組み込み関数を使用する必要がありますか?
つまり:
よく見ると、255 + 255 を実行する瞬間は 512 であり、8 ビット レジスタに保持できないため、32 ビットとしてロードする必要があります。
例えば
arm - NEON 比較 (以上) 命令の使用方法
一般的な NEON 比較命令の使用方法
これは、私が使用したい、より大きいまたは等しい命令ですか?
現在、私は、
NEON では、x を同じように使用したいと思いますが、今回の x はベクトルです。
c - ARM NEON のコンパイル中に不明な GCC エラーが発生しました (重大)
ARM NEON Cortex-A8 ベースのプロセッサ ターゲットがあります。NEON を利用してコードを最適化していました。しかし、コードをコンパイルすると、この奇妙なエラーが発生します。これを修正する方法がわかりません。
ホストで Code Sourcery (PART2) を使用して次のコード (PART 1) をコンパイルしようとしています。そして、この奇妙なエラー (PART3) が表示されます。ここで何か間違ったことをしていますか?他の誰かがこれをコンパイルして、同じコンパイル エラーが発生するかどうかを確認できますか?
奇妙な部分は、コードの一部をコメントアウトするとelse if(step_size == 4)
、エラーが消えることです。しかし、残念ながら私の最適化はそれなしでは完全ではないので、私はそれを持っている必要があります.
最初は(ホスト上の)CodeSourceyコンパイラに問題があると思ったので、ターゲットでプログラムを直接コンパイルしました(私のターゲットはUbuntuで実行されます)。そこでgccを使用しましたが、もう一度同じエラーが発生し、そのelse if(step_size == 4)
部分をコメントアウトするとエラーが消えます。
ヘルプ!
パート1
パート2
パート 3
memory - ARM NEON: vld4_f32 と vld4q_f32 の違いは何ですか?
vld4_f32
私はとvld4q_f32
ARM NEON 命令の違いを理解する立場にありません。
混乱は、コーディング レベルを上げて、情報量の少ない組み込み関数ではなくアセンブリ命令に目を向け始めたときに始まりました。
ここでvld4バリアント命令を使用する必要がある理由は、大きな配列の4 番目ごとの位置から4 をキャプチャしたいからです。float32_t
組み込み関数と対応するアセンブリ命令は次のvld4_f32
ようになります (このリンクから)
vld4q_f32
組み込み関数とそれに対応するアセンブリ命令は次のようになります。
組み込みレベルで見た違いは戻り値の型ですが、アセンブリ命令とレジスタの数を見ると、どちらも同じように見えます。コンパイラまたはアセンブラは、この 2 つの違いをどのように認識しますか?
誰かがこれについてもっと明確にし、4番目のメモリ位置ごとに配置されている4つの float32_t値を単一のレジスタにロードする方法を説明できますか?