simd

    6

    1答えて

    SSE2命令の新機能です。私は命令_mm_add_epi8を見つけました。これは2つの配列要素を追加することができます。しかし、配列のすべての要素を追加できるSSE命令が必要です。 私はこのコードを使用してこの概念を開発しようとしていた。 #include <iostream> #include <conio.h> #include <emmintrin.h> void sse(unsig

    11

    2答えて

    インテルi3プロセッサで32要素(各1バイトのデータ)の合計を削減しようとしています。私はこれをしました: s=0; for (i=0; i<32; i++) { s = s + a[i]; } 私のアプリケーションは、はるかに少ない時間を必要とするリアルタイムアプリケーションですので、より多くの時間がかかる。 最終的な合計は255を超えることがありますのでご注意ください。 低

    9

    3答えて

    gccでx86-64のSSEベクタ命令を使用することに興味があり、インラインアセンブリを使用したくないです。私はCでそれを行うことができる方法はありますか?もしそうなら、誰かが私に例を挙げることができますか?

    4

    1答えて

    私はVisual StudioでコンパイルできたSIMDの行列乗算のためにこのコードを書いていましたが、gcc/g ++を使用してUbuntuでコンパイルする必要があります。 これをコンパイルするために使用するコマンドはどれですか?コード自体を変更する必要がありますか? #include <stdio.h> #include <stdlib.h> #include <xmmintrin.h>

    0

    3答えて

    を取得し、私はいくつかのint temp[5] で(con*A[r][k])を格納して、行のためにその与えセグメンテーションフォールト以下のコードでいただきました間違ったSIMDでA[j][k]-temp[]をしていますk=0k=100へそのため A[j][k]=((A[j][k]-con*A[r][k])%2); のために計算したいです__m128i m5=_mm_sub_epi32(*m3

    20

    3答えて

    インテルアドバンスト・ベクトル・エクステンションをするためのドット積の256ビット版(AVX)は、倍精度浮動小数点変数のための256ビット版(YMMレジスタ)には内積を提供しています。 「なぜ?」質問は別のフォーラム(here)とスタック オーバーフロー(here)で非常に簡単に扱われました。しかし、私が直面している問題は、この欠落した命令を他のAVX命令と効率的に置き換える方法です。 は 256

    0

    2答えて

    誰でもにSIMDを使用して、このような何かをベクトル化するために知っている: for(size_t i = 0; i < refSeq.length()/4; i++){ for(size_t j = 0; j<otherSeq.length(); j++){ if(refSeq[i] == otherSeq[j]){ if(i == 0 || j == 0)

    3

    2答えて

    2つの整数レジスタのペアワイズ比較とSSE命令を使用した等しい要素の抽出の最適な方法は何ですか?たとえば、a = [6 4 7 2]とb = [2 4 9 2](各レジスタに4つの32ビット整数が含まれている)の場合、結果は[4 2 x x]になります。この疑問の代替形式は、シャッフルに使用できる等しい要素(..0101b)のバイナリマスクを取得する方法、または事前計算テーブルのシャッフル命令のパ

    16

    4答えて

    プリフィックスサムアルゴリズムを実装する必要があり、できるだけ高速にする必要があります。 例: [3, 1, 7, 0, 4, 1, 6, 3] should give [3, 4, 11, 11, 15, 16, 22, 25] この使用SSE/MMX/SIMD CPUの命令を実行する方法はありますか? 私の最初のアイデアは、すべての合計が以下のように計算されるまで、各ペアを並行して再帰

    10

    1答えて

    私は現在、組み込み関数を使用して最適化しようとしている大きなピクセル処理関数を持っています。 SSE初心者であるため、ルックアップテーブルを含むコードの部分にどのように取り組むべきかわかりません。 基本的に、私は次のバニラC++コードをベクトル化しようとしています: //outside loop const float LUT_RATIO = 1000.0F; //in loop floa