sse

    0

    1答えて

    私は初期化が動作しているようC. でSSE2命令でSHA1を実装しようとしていますが、私は私のアルゴリズムの最初のラウンドとして round1(testhashe, testhasha, testhashb, testhashc, testhashd, loadConstant(b[z])); をしようとすると、私はエラーを取得します。前の定数と値は正しいとチェックされますが、最後の値は間違っ

    0

    1答えて

    SSEを使用しない場合よりもSSEが高速になると予想します。追加のコンパイラフラグを追加する必要がありますか?これは浮動小数点ではなく整数コードなので、スピードアップが見えないのでしょうか? 呼び出し/出力 $ make sum2 clang -O3 -msse -msse2 -msse3 -msse4.1 sum2.c ; ./a.out 123 n: 123 SSE Time t

    0

    1答えて

    SSE組み込み関数を使用してコードを最適化しようとしています。ドキュメントを読んだ後、浮動小数点変数のためにSSEに__m128データ型があり、4つの浮動小数点数を格納できることがわかりました。 SSE2には2つの浮動小数点数しか格納できない__m128dがありますか?これらの変数の違いは何ですか? SSE2はSSEより高速であるとは思われませんか?

    0

    1答えて

    int MAX_DIM = 100; float a[MAX_DIM][MAX_DIM]__attribute__ ((aligned(16))); float b[MAX_DIM][MAX_DIM]__attribute__ ((aligned(16))); float d[MAX_DIM][MAX_DIM]__attribute__ ((aligned(16)))

    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

    2

    1答えて

    SSE要素で動作する指数関数の近似を探しています。即ち、__m128 exp(__m128 x)。 私は速いですが、精度が非常に低いように思わ実装を持っている: static inline __m128 FastExpSse(__m128 x) { __m128 a = _mm_set1_ps(12102203.2f); // (1 << 23)/ln(2) __m128i

    0

    1答えて

    次作品: __m128 var1; float *a = (float*)malloc(50*sizeof(float)); float *ptr = a; //Initialise a with some values for(int i = 0; i < 50; i++) *(a+i) = i; //print those values for(int i = 0;

    2

    1答えて

    FTZ/DAZモードでは、IEEE 754標準の厳密な遵守が問題ではないコードでは、コードを実行する可能性のある他のスレッドの動作を変更することなくパフォーマンスを向上させることができますは重要。私はハンドリングデノーマルのパフォーマンスへの影響に無効/これらのモードを有効にする方法について thisと thisを読んできたが、残念ながら私は、マルチスレッド環境での混合コードを持っていると私は一度

    1

    1答えて

    私はAVXがSSEより約1.5倍速くなると予想していました。 Intel Core CPU(Broadwell)では、3つのアレイ(3つのアレイ* 16384要素* 4バイト/要素= 196608バイト)がL2キャッシュ(256KB)に収まる必要があります。 使用するはずの特別なコンパイラ指令またはフラグはありますか? コンパイラバージョン $ clang --version Apple LLV

    2

    1答えて

    次のコードを奇数の動作を_mm_and_ps:で __m128 a = _mm_setr_ps(1, 2, 3, 4); __m128 b = _mm_set1_ps(2); __m128 res = _mm_and_ps(a, b); cout << a[0] << " " << a[1] << " " << a[2] << " " << a[3] << endl; cout << b[