avx2

    3

    1答えて

    私だけ__m256iのためである、_mm256_stream_load_si256()を見つけることができます。 __m256dをストリームロードする方法がないのですか? 次(積極的な鋳造)を行うための任意の障害物がある(私は、CPUのキャッシュを汚染することなく、それをロードしたいと思いますか)? __m256d *pDest = /* ... */; __m256d *pSrc = /* .

    0

    2答えて

    AVX2で利用可能な条件付き命令のリストはありますか? は、これまでのところ私は、次を発見しました:マスクc に基づいaとbからの選択のための _mm256_blendv_ *は条件付き乗算と条件の追加、などのようなものはありますか? imm8(_mm256_blend_ *など)の命令を使用すると、ベクター比較後にimm8を取得する方法を説明できますか?

    5

    1答えて

    AVXレジスタの64ビットコンポーネントの上位/下位32ビットコンポーネントをSSEレジスタに再パックするための本質的な方法または別の効率的な方法はありますか? AVX2を使用したソリューションは問題ありません。 は、これまでのところ私は、次のコードを使用していますが、プロファイラは、それがRyzen 1800Xに遅いと言う:インテルで // Global constant const __m2

    2

    3答えて

    _mm256_blendv_pd()は、位置63,127,191,255のビットを調べます。uint8_tの4つの下位ビットをAVXレジスタのこれらの位置に分散させる効率的な方法はありますか? また、_mm256_cmp_pd()の結果のように、AVXレジスタの対応する64ビットコンポーネントで繰り返されるように、これらのビットをブロードキャストする効率的な方法はありますか? 命令セットはAVX2

    0

    1答えて

    私は現在、画像を操作するプロジェクトに取り組んでいます。プロセスをスピードアップして知識を増やすために、私はSIMD命令を使っていくつかの基本機能を書くことにしました。 ループためを使用したコードは、このループは、おそらく完璧ではありません int idx; uint16_t* A, B, C; float gAlpha = 0.8; float alpha = 0.2; for (siz

    2

    1答えて

    私はAVX(ARM NEONから来たもの)の新人であり、AVXには多くのU8算術が欠けていることに驚いていました。 は、そのため私は、インライン関数でmax(a,b)-min(a,b)に頼らなければならなかった: static inline __m256i _mm256_abd_epu8(__m256i a, __m256i b) { return _mm256_sub_epi8(_m

    1

    1答えて

    acosメソッドをイメージのすべてのピクセルに対して呼び出す必要があります。 私はavx2を使用しています。 intel C++コンパイラで提供されているライブラリとは別に、acos用の_mm256コードはありますか?

    2

    1答えて

    avx2レジスタ内の32ビットint値のビット反転を実行する方法はありますか? など。 _mm256_set1_epi32(2732370386); <do something here> //binary: 10100010110111001010100111010010 => 1001011100101010011101101000101 //register contains 1268

    3

    1答えて

    Intelの組み込み関数を使用して、複数の単精度演算を並列に実行するアルゴリズムを作成しました。私のアルゴリズムの各繰り返しの結果は、単一の256ビットベクトル(__m256)の非ゼロエントリの数です。例えば :反復の結果は、4 ベクトル内の数の非ゼロのエントリをカウントするための最速の方法は何である 00000000 FFFFFFFF 00000000 00000000 00000000 FFF

    4

    1答えて

    は、私がrowsとcolsと呼ば__m256i 2つの変数を持っていること、例えば、のは言わせて、その中の値は、次のとおりです。今 rows: 0, 2, 7, 5, 7, 2, 3, 0 cols: 1, 2, 7, 5, 7, 2, 2, 6 、これらの値8点のためxとy位置を表すので、この場合には、私はこれらの点を有するであろう: p0: [0, 1], p1: [2, 2], p2: