sse

    1

    1答えて

    私はApressのModern x86 Assembly言語の本を読んでいます。 64ビットSSEの例をプログラミングするために、著者はを16のアラインメントをコードの特定のポイントに置きます。例えば .code ImageUint8ToFloat_ proc frame _CreateFrame U2F_,0,64 ; helper macros to create prolog _

    1

    1答えて

    私はちょうどXeonのPhiプロセッサでAVX512のCPUイントリニックセットを読んでいますが、sseの従来のデータ型変換方法はavx512では動作しないようですので、avx512で変換可能な同様のCPUセットがありますか? unsigned char配列をshortデータ型配列に変換しますか?前もって感謝します!

    0

    1答えて

    SSE命令/組み込み関数、たとえば256ビットレジスタを使用する場合、次の32バイトチャンクでプリフェッチ命令を使用するか、またはいくつかの他の技術によって?ロードされるデータが既にメモリ内に正しく整列されていると仮定します。

    1

    2答えて

    ベクトルをSSEレジスタにロードしようとしていますが、コードはエラーなしでコンパイルされますが、実行しようとするとセグメント化エラーが発生します。ここでは、私のコードです: inline int SSEJaccard::calcSSEJaccardDist(unsigned int id1, unsigned int id2) { int result; __m128i v,

    1

    1答えて

    2の合計を持つ関数を作成しようとしていますCGVectors。 これは私の試みです: に含まれるもの: @import GLKit; @import Foundations; // Defenition of CGVector struct CGVector { CGFloat dx; CGFloat dy; }; typed

    0

    1答えて

    イントリンシックから始めて、私の無知を露呈させるものを打つだけです。ここで私が見ているものの人工バージョン(VS2015)です: __m128i test; //test.m128i_u16[0] = 127; //test.m128i_u16[1] = 128; //test.m128i_u16[2] = 129; //test.m128i_u16[3] = 130; //test.

    1

    1答えて

    私は後で_mm256_store_pd(dst,q);を使用して、ここでセグメンテーション違反が発生んなぜ命令 vmovapd YMMWORD PTR [rdi],ymm0 で時折セグメンテーションフォールトを取得 double *dst; posix_memalign((void**)&dst, 32, 4*sizeof(double)); で32バイトにアラインdoubleの配列を割

    3

    1答えて

    は同じ計算を実行し、これら3つの機能を考慮してください #include <x86intrin.h> void testfunc_loop(double a, double b, double* dst) { double f[] = {a,b,-a,-b}; for(int n = 0; n < 4; ++n) { dst[n] = 0.1 +

    0

    1答えて

    画像をブロック単位で処理するときに最も効率的な方法は何か不思議です。 その瞬間、8x8ブロックから1行のピクセル(1行8ピクセル、各8ビット深度)を読み取るなど、ベクトル化技術を適用しました。しかし、現代のプロセッサが128/256ビットのベクトル演算をサポートしているので、イメージブロックから2行のピクセルをロードするとコードの速度が向上すると思います。 しかし、問題は、メモリ内の画像(たとえば

    9

    3答えて

    I次のコードスニペットがあります。だから、最後 WTF??!! magic = 2570980352.0000000000 magic = 2570980608.0000000000 :私はMSのVisual Studio 2015の下でそれをコンパイルする場合 #include <cstdio> #include <cstdint> static const size_t ARR_