avx

    14

    1答えて

    System.Numerics.Vector<T>を使用するC#コードを実行していますが、SIMD組み込み関数の利点をすべて得ることはできません。私はUpdate 1でVisual Studio Community 2015を使用していますが、私のclrjit.dllはv4.6.1063.1です。 AVX命令セット拡張機能を実装しているIntel Core i5-3337U Processorで動

    6

    1答えて

    これまでのところ、私がいることを見つけるために管理している: SSEとSSE2は、Windows 8のために必須であり、後に(そしてもちろん、任意の64ビットOS用)AVXが唯一のWindows 7 SP1でサポートされていますまたはそれ以降 WindowsでSSE3、SSSE3、SSE4.1、SSE 4.2、AVX2、およびAVX-512を使用する際には注意が必要ですか? いくつかの説明:SSE

    5

    1答えて

    __m256iレジスタから64ビットを抽出しようとしています。私の現在の抽出機能の 例: byte 31 16 15 0 byte_result_vec 000D 000C 000B 000A 000H 000G 000F 000E _mm256_packs_epi32 -> 0D0C 0B0A 0D0C 0B0A 0H0G 0F0E 0H0G 0F0E _mm

    5

    1答えて

    で倍精度ベクトル行列ベクトル乗算Iは倍精度で以下の操作を実行する必要があります 数字は値がメモリに格納される方法を表します。私はこれをAVXで実装したいと思います。 [QK]の欄を最初に8つの要素にパディングしてから、[x]と[QK]でマトリックスベクトル乗算を実行した後、ドットプロダクトを実行するのが最善でしょうか? EDIT:[OK]を、私は以下に示すようにパディングベクターをFLOAT32-

    6

    2答えて

    残念ながら私はAVX命令に問題があるように思われるAMDのの群衆追いのCPU、持っている: メモリは256ビットのAVXレジスタに書き込みが非常に遅いです。測定されたスループットは、以前のモデル(Bulldozer)よりも5〜6倍遅く、2回の128ビット書き込みよりも8〜9倍遅くなっています。 私の経験上、mm256の組み込み関数がmm128よりもはるかに遅いことがわかりました。私はそれが上記の理

    5

    1答えて

    したがって、AVXにはimmintrin.hという機能があり、2つの__m128i値の連結を1つの__m256i値に格納できるようにする必要があります。これがなぜ起こるか私は本当に理解していない error: incompatible types when assigning to type ‘__m256i’ from type ‘int’ : __m256i as[2]; __m128i

    9

    3答えて

    私のラップトップ(coreI5)はUbuntu-64bit 12.04LTSで動作しています。私はいくつかの乱数生成のためにAVXに入ることを試みています。 Eclipse-CDTでは、Linux GCCを使用して新しいC++「Hello World」プロジェクトを作成しました。私はimmintrin.hをインクルードし、何かを__m256タイプでロードしようとしました。 ザ・コンパイラはエラーを

    9

    3答えて

    C/C++でのガウス畳み込み関数の高速メモリ転置アルゴリズムが必要です。私が今やっていることは convolute_1D transpose convolute_1D transpose それは、この方法では、フィルタサイズが大きい(または、私が予想よりも大きい)、または転置は畳み込みよりも長い畳み込みがかかる1920×1080マトリクス(例えばかかりなければならないことが判明しています

    23

    1答えて

    アドバンスドベクトル拡張(AVX)で、_m256_cmp_psのような比較命令を使用する場合、最後の引数は比較述語です。 述語の選択肢が私に圧倒されます。 彼らはタイプ、注文、シグナリングの三重であるようです。 など。 _CMP_LE_OSは 'より小さいか等しい、順序付けられた、シグナリングです。 最初に、信号または非シグナリングを選択するパフォーマンス理由はありますか? 同様に、順序付けされて

    6

    1答えて

    256ビット相当もし固有_mm_load1_ps(と__m128のすべての4つのスロットにメモリから単一のフロートをロードすることができる) AVX 256ビット幅のSIMDを使用する場合、があるように思わ_mm256_load1_ps()は、メモリから単一のfloatをベクトルの8つのスロットすべてにロードするためのものではありません。 なぜこの省略がありますか?これを回避するにはどうすればよい