simd

    2

    1答えて

    私はこのようになりますNEON SIMDデータ型を持つクラスを持っている:私は、これはほとんどのAndroidデバイス上で実行すると、ARMのための打ち鳴らすを使用してコンパイルする class Change { void clear() { m_d = vdupq_n_s32(0); } private: uint32x4 m_d; }; 、そ

    1

    1答えて

    私は組み込みのsimdサポートGCCを使っていくつかのカーネルを書くことを実験しています。私は、セグメンテーション違反私がavx_dot内の温度に初めてアクセスを得る g++ -O3 -march=corei7-avx dotprod.cc -ffast-math -o dotprod :付きでコンパイルされたとき妙に #include <time.h> #include <stdio.h>

    3

    1答えて

    16×epi8の値である__m128iを水平に追加する必要があります。 XOP命令はこれを簡単にするでしょうが、私はそれらを利用できません。 現在の方法は次のとおりです。 hd = _mm_hadd_epi16(_mm_cvtepi8_epi16(sum), _mm_cvtepi8_epi16(_mm_shuffle_epi8(sum, swap))); hd = _mm_hadd_epi16(

    4

    1答えて

    SIMDのためSystem.Numericsライブラリで4倍の倍精度のベクトルを作成しようとしています。だから私はこの構造体を作った: public struct Vector4D { System.Numerics.Vector<double> vecXY, vecZW; ... } この段階では、私は128ビットSIMDレジスタ用にそれをコード化する。 それは正

    2

    1答えて

    私はこのようなホットスポットを持っています。どのような種類のベクトルがここに集まっていいのだろう...このようなコンパイラを得る方法の任意の提案? 16.0.2私のオプトレポートはここ LOOP BEGIN at code.f(197,13) remark #25084: Preprocess Loopnests: Moving Out Store [ code.f(203,13) ]

    1

    1答えて

    私が試してみてください。私は出力を得る< bは __m256 a = _mm256_set_ps(1, 1, 1, 1, 1, 1, 1, 1); __m256 b = _mm256_set_ps(0, 0, 0, 0, 0, 0, 0, 0); __m256 c = _mm256_cmp_ps(a, b, _CMP_LT_OQ); : [0, 0, 0, 0, 0, 0, 0, 0]

    1

    1答えて

    ここではhttp://primates.ae/のCでPRIMATEs暗号のビットスライス実装を実装しました。私はSIMDプログラミングを使用して作成していますので、私のコードでAVX2命令セットを使用します。 Imは現在、私の実装がどれほど効果的かを正確に測定しようとしていますが、現在の数字は本当に信頼できません。私の現在の数字では、1バイトあたり約200サイクルが得られます。これは、暗号の上に何

    2

    1答えて

    SSEを使用してイメージのピクセルに対してビット単位のNOT演算を実行しています。 私はいくつかの質問を持っている: これは、OpenMPのを使用してさらに最適化することができますか? アルゴリズムに最適化できるボトルネックはありますか? ここでは私のコードです: unsigned int iSSE2Size = (SrcImage1.GetHeight() * (SrcImage1.GetSte

    9

    1答えて

    私はこのclang referenceに従ってclangで以下の関数をベクトル化しようとしています。バイト配列のベクトルをとり、this RFCに従ってマスクを適用します。 static void apply_mask(vector<uint8_t> &payload, uint8_t (&masking_key)[4]) { #pragma clang loop vectorize(e