問題タブ [sse3]

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.

0 投票する
0 に答える
203 参照

mingw - MinGW エラー タイプ '__m128i' は Eclipse で解決できませんでした

MinGW を使用した Eclipse で、インテルの組み込み命令 (sse2 sse3) を持つ C コードをコンパイルしようとしています。コンパイラ オプション -march=native -msse2 -msse3 -mssse3 -msse4.1を指定しましたが、エラーが発生します

タイプ '__m128i' を解決できませんでした。

それでもアプリケーションをビルドすることはできますが、Intel Intrinsic Instruction の実行中に実行時にクラッシュします。そのため、「SSE3命令セットが有効になっていません」と表示されているIntel Intrinsic Instructionのヘッダーファイルを調べました。

これから抜け出すのを手伝ってください。

0 投票する
1 に答える
1961 参照

c++ - (Vec4 x Mat4x4) SIMD と改良を使用した製品

複雑なシミュレーション プログラムを作成していますが、最も時間がかかるのは、4 つのベクトル (float4) と 4x4 の行列を乗算するルーチンです。多かれ少なかれ古い複数のコンピューターでこのプログラムを実行する必要があります。そのため、次のコードでそのような操作の SIMD 機能を確認しようとしました。

このような問題の改善については、いくつかのトラブルがあります。コードを実行すると、次の結果が得られます (Intel Core i5 4670K、3.4GHz、Haswell、Codeblock + MinGW コンパイラで -O2 -march=corei7-avx を使用):

私の質問は次のとおりです。

  1. これにより、パフォーマンス/スピードアップをさらに改善することは可能ですか? SSE の場合は x4 (最大)、AVX の場合は x8 である必要があります。

  2. AVX が SSE3 よりも速くないのはなぜですか?

「あなたのものを使うのをやめて、Intel Math Kernel Library を使ってください」と言う人に対して、私はこう答えます。 -)

0 投票する
1 に答える
2314 参照

assembly - アセンブリ コード x86 および SSE でベクトルを使用する方法

x86 で stl ベクトルにアクセスする方法がわかりません。私はそのようにしようとしましたが、いくつかのエラーがあります。

SSE言語でも同じことをしたいです。

前もって感謝します!

0 投票する
0 に答える
2230 参照

c++ - OpenCV のプロセッサー最適化フラグ

さまざまな Windows コンピューター (Win7、Win8、Win10 を使用) で実行される OpenCV を使用するアプリケーションを構築しています。

現在、一部のコンピューターでアプリケーションがランダムにクラッシュすることを発見しました。多くのグーグル検索の後、OpenCV で SSE3 を有効にすると、SSE3 をサポートしていないプロセッサで不正な命令のクラッシュが発生する可能性があることに気付きました。

http://answers.opencv.org/question/18001/illegal-instruction-when-running-any-compiled-opencv-demo-binary-sse3-flag/

https://bugs.launchpad.net/linuxmint/+bug/1258259

これが私の質問です。どのプロセッサフ​​ラグが「安全」か知っている人はいますか? 彼らが何をしているのかは理解していますが、プロセッサが SSE42 などをサポートすることがどれほど一般的かはわかりません。

言い換えれば、OpenCV をコンパイルするときに、これらのフラグのどれを無効にする必要があると思いますか?

0 投票する
0 に答える
153 参照

c - SSE3 で水平方向に追加

SSE と SSE3 を使用して、配列のすべての要素の合計を計算する簡単なコードを作成しようとしています。違いは、一方のコードでは PADDD を使用して「垂直方向に」合計し、もう一方のコードでは HADPPS を使用して水平方向に合計することです。私が関心を持っている唯一の値は総計であるため、総計の方法は重要ではありません。ただし、水平加算は間違った結果を出力しています。理由はありますか?

これは、通常の追加のコードです。

そして、これは水平加算のコードです:

追加命令だけを変更する必要があると思いますか?