sse

    5

    2答えて

    SSE組み込み関数を使用してコードを最適化しようとしていますが、SSE組み込み演算を実行した後にベクトルから整数値を抽出する良い方法がわからない問題が発生しています。欲しいです。 これを行うには良い方法がありますか?私はCでプログラミングしています。コンパイラはgcc version 4.3.2です。 ご協力いただきありがとうございます。

    12

    2答えて

    アライメントされた型または構造体を値渡しで渡すことは、一部の実装では機能しません。これにより、STLコンテナが破損します。これは、メソッドの一部(サイズ変更など)が値で引数を取るためです。 Visual Studio 2008でいくつかのテストを実行し、値の受け渡しがいつどのように失敗するかは完全にはわかりません。私の主な関心事は、機能fooです。それはうまくいくようですが、それはインライン展開や

    3

    1答えて

    2つの関連する質問があります。 これは私のコードがかなり大量のデータで行う必要があるものです。それは内部のループの内部で行われ、パフォーマンスは重要です。 __int32をダブルに変換(または__m128iを2つの__m128dに変換)します。 floatをdouble型に変換(または__m128を2つの__m128dに変換)します。 基本的に、私は次のシグネチャを持つ関数が必要になります。 vo

    8

    3答えて

    を使用して、ベクターの要素にアクセスする方法通常、私は、次のタイプを使用して3Dベクトルと連携:なめらかを使用してベクトルを初期化 typedef vec3_t float[3]; 。 vec3_t x_basis = {1.0, 0.0, 0.0}; vec3_t y_basis = {0.0, 1.0, 0.0}; vec3_t z_basis = {0.0, 0.0, 1.0};

    81

    2答えて

    これはやや低レベルの質問です。 x86のアセンブリでは2つのSSE命令があります MOVDQA xmmi, m128 と MOVNTDQA xmmi, m128 IA-32ソフトウェア・デベロッパーズ・マニュアルは、そのNTで言いますMOVNTDQAはの略です。 -Temporal、それ以外の場合はMOVDQAと同じです。 私の質問は、何ですか非一時的の意味ですか?

    8

    2答えて

    私は「Intelアーキテクチャのためのインテル®最適化ガイド」を読んでいます。 しかし、私はまだ)私は _mm_sfence() _mm_lfence() _mm_mfenceを(使用する必要がある場合については考えている 誰かが私に説明を与えることができますか?

    3

    1答えて

    私は、SSEプリフェッチ命令のインラインアセンブリを含むコードを扱っています。プリプロセッサ定数は、32,64、または128ビットのプリフェッチの命令を使用するかどうかを決定します。このアプリケーションは多種多様なプラットフォームで使用されていますが、今のところ私はそれぞれのCPUで最適なオプションを調べなければなりませんでした。私はこれがキャッシュラインサイズであることを理解しています。この情報