sse

    0

    1答えて

    私のC++コードにいくつかのSSEコマンドを紹介したいと思います。このようなこの1のように: http://msdn.microsoft.com/en-us/library/afh0zf75(v=VS.80).aspx 私が正しく理解していれば、私は、このコマンドの種類を使用するために、単一の浮動小数点精度を設定する必要があります。私は正しい? もしそうなら、どこで行うのですか?私は、Visual

    2

    2答えて

    インテルのSSEで私の最初のステップを踏み出そうと思っていたので、ガイドはhereで公開されましたが、WindowsとC++用に開発する代わりにLinuxとC _aligned_mallocではなく、posix_memalign)を使用しないでください。 また、SSE拡張機能を使用せずに1つのコンピューティング集中型メソッドを実装しました。驚くべきことに、私がプログラムを実行すると、両方のコード(

    0

    1答えて

    4つの数値を乗算する非常に簡単なプログラムがあります。それぞれが10000の場合は が正常に機能しますが、10001に変更しても正しく動作しません。結果が の場合、1つ外れます。 私はAMD OpteronとIntel Xeonの両方でgcc -msse2 main_sse.c -o sseというプログラムをコンパイルし、両方のマシンで同じ結果を得ました。 私は助けていただきありがとうございます。

    6

    1答えて

    SSE4.2命令セットをサポートするはずのXeon W3550プロセッサがありますが、SSE2を使ってCプログラムでSSE2を使用しようとするとコンパイラエラーが発生します。 #error "SSE4.2 instruction set not enabled" 私は $cat /procs/cpuinfo を使用する場合、それは、関連するすべてのSSE命令セットを検出したが、 $cpui

    6

    1答えて

    パラメータnに応じてxmmレジスタにさまざまなmovdqu命令を含むコードを生成するためのガスマクロを書きたいと思います。 .macro xxmov n, p1 .if (\n == 1) xor %eax, %eax .endif .if (\n - 1) xxmov (\n - 1), \p1 .endif

    11

    1答えて

    いくつかのインテルSSE操作のNEON同等性を理解するのに問題があります。 NEONはQレジスタ全体を一度に扱うことができないようです(128ビットの値のデータ型)。私はarm_neon.hヘッダーまたはNEON intrinsics referenceに何も見つかりませんでした。私は(私は多くの経験を持っていないNEONが提供するシフト動作を見てきましたが、上記を行うための同等の方法を見つけるこ

    6

    2答えて

    OpenMPをいくつかのSSEコードに追加しようとしています。 私の最初のテストプログラムSOMETIMESは_mm_set_psでクラッシュしますが、if(0)を設定すると動作します。 とてもシンプルに見えますが、私は明らかなものを紛失しているはずです。私はgccでコンパイルしてい -fopenmp -g -march = Core2のは #include <stdio.h> #inc

    3

    2答えて

    私の印象は間違いないでしょうが、おそらく巧妙なトリックがありますか?おかげさまで

    10

    2答えて

    私はこれに関するmovntdqaの指示を読んだことがあるが、キャッシュを汚染しないようにメモリ範囲をキャッシュ不可能に表現するか、データを読み取るクリーンな方法を考え出した。 gccからこれをやりたい私の主な目標は、大きな配列のランダムな場所にスワップすることです。ごくわずかなデータが残っているため、キャッシングを回避してこの操作を高速化することを望んでいます。

    5

    2答えて

    MXCSRのようなものに最適な設定は何ですか?どの丸めモードが最速ですか?どのプロセッサで?シグナリングNaNを有効にする方が速いので、計算結果がnanになったときに通知を受けるか、NaN以外の計算で減速を引き起こしますか? 要約すると、タイトな内部SSEループのスピードを最大限に引き出すにはどうすればよいですか? 関連するx87浮動小数点速度のアドバイスも歓迎します。