sse

    2

    3答えて

    floatの大きな配列をdoubleの配列に変換して戻す必要があります。 Visual C++ 15のアップデート3にSSEコンパイラ組み込み関数がありますか? EDIT:これは2つのワイヤフォーマット間の変換であるため、#defineは役に立ちません。データ構造は浮動小数点数として格納されますが、第三者の処理ライブラリではdoubleの配列が必要です。

    0

    1答えて

    SSE命令を習得しようとしていますが、私は2つのマチスを掛けることを願っています。 typedef union{ __m128 vec; float* afloat; }u_float; int main(){ __declspec(align(16)) u_float *mat1; mat1 = (u_float*)malloc(sizeof(u_float)*

    1

    1答えて

    私はAVX2 x86 256ビットSIMD拡張機能を使用しています。私は、32ビットの整数コンポーネントの賢明なif-then-else命令を実行したい。インテルの文書では、このような命令はvblendと呼ばれています。 インテルイントリンシック・ガイドには、_mm256_blendv_epi8という関数が含まれています。この関数は、私が必要とするものとほとんど同じです。唯一の問題は、8ビット整数

    1

    1答えて

    ここでは、これを達成しようとしています。私のC++プロジェクトでは、はMicrosoft Visual Studio 2015以上でコンパイルする必要があります、私はいくつかのコードは、ユーザーのCPUで利用可能な最新のSIMD instrunctionに応じて異なるバージョンを持っている必要があります:SSE2SSE3 、SSSE3,SSE4.1,SSE4.2,AVX,AVX2およびAVX512

    1

    2答えて

    処理速度向上のための並列処理アルゴリズムを見ています。 Agner Fog's vector class library, VCLをテストしたいです。 Vec16c(SSE2命令セット)とVec32c(AVX命令セット)のように、異なるベクタークラスを選択する方法が不思議です。 私はIntel®Atom™x5-Z8350プロセッサを使用しており、仕様に応じてSSE4.2命令セットをサポートしていま

    2

    1答えて

    DLLアセンブラからC++プログラムに浮動小数点値を返すことに問題があります。私はxmm0レジスタで処理する必要があると思いますが、間違っていますか?ここ #include "stdafx.h" #include<windows.h> #include<iostream> #include <cstdio> #include <thread> #include <vector> usi

    4

    3答えて

    SIMD演算を使用して、最小値/最大値をバイト配列に配置したいと考えています。今まで私は配列を通って_m128i変数に最小値/最大値を格納することができましたが、それは私が探している値が他のものと混在していることを意味します。 整数の場合はhereとhere、浮動小数点の場合はthis pageですが、_mm_shuffle *の仕組みはわかりません。だから私の質問は: 最小/最大バイト(または符

    10

    1答えて

    Intel Intrinsic Guideに記載されているレイテンシとスループットの値について説明できますか? レイテンシは命令が実行される時間単位であり、スループットは時間単位で開始できる命令の数であることを正しく理解しましたか? 私の定義が正しい場合、最新のCPUバージョン(例:mulps)ではいくつかの命令のレイテンシが高くなるのはなぜですか?

    0

    1答えて

    すべてのLLVM IR 'fcmp'命令に互換性のあるX86 cmpps命令がありますか? そして、その逆はどうですか?単一のLLVM 'fcmp'命令を使って、すべてのX86 cmpps命令(レジスタオペランドのみを記述する)を記述できますか? 問題の難しい部分は、NaN、Inf's、-0.0などのコーナーケースがどのように扱われるかです。

    0

    1答えて

    は、私がこれまでに得たものである: #define N 1000 void matmulSSE(int mat1[N][N], int mat2[N][N], int result[N][N]) { int i, j, k; __m128i vA, vB, vR; for(i = 0; i < N; ++i) { for(j = 0; j < N; +