intrinsics

    0

    1答えて

    私はAVX2の新しいプログラムで256ビットの変数(__m256iタイプ)を使用していますが、インテルの組み込み関数を使用しています。以前は、64ビットのチャンクがデータの処理に使用されていました。したがって、_mm_crc32_u64関数がCRC計算に使用されます。 crc = _mm_crc32_u64(seed,*chunk_64bit); しかし、今、私は別々に各256ビットの塊(少な

    4

    1答えて

    私は、AVX、AVX2、AVX512などのさまざまなSIMD命令セット用にカーネルを実装しています。コードは、./configure --enable-proc=AVX CXXFLAGS="-mavx"のようなもので、ターゲットマシンのターゲットマシン上でコンパイルすることができます。 これは、AVX組み込み関数を公開するTravis CIでもうまくいきます。すべてのファイルがチェックインされてい

    0

    1答えて

    私はOMNeT ++ 5.0を使用しています。私は自分のCPU上のインテル固有の機能にアクセスしたいと考えています。 32ビットバージョンの代わりに64ビットバージョンを使用することをお勧めします。例: int i = _popcnt64(15); 私は、数年前(2013年)から、OMNeT ++が32ビットで実行可能ファイルをパッケージ化していることを示している記事を読んできました。私はOMNe

    0

    1答えて

    intを使用して1/xを計算しようとしていますが、xがdoubleであることを前提としています。私は次のように計算を達成しようとしています: __inline__ double __attribute__((const)) rcp_d (double x) { double res; _mm_store_pd(&res, _mm_rcp_ps(_mm_load_

    0

    1答えて

    私は次のコードのための奇妙なエラーを取得しています: #include <assert.h> #include <stdio.h> #include <immintrin.h> inline static double myfma(double x,double y, double z) { double r; // result

    0

    1答えて

    を鋳造私は組み込み関数__double2loint、__double2hiintと__hiloint2doubleキャストCUDAタイプのCPU同等物が何であるか、把握しようとしています。 _mm_cvttsd_si32は__double2lointと同等かもしれないと思いますが(それは正しいですか?)、__double2hiintと__hiloint2doubleに相当するものは見つかりませんで

    0

    1答えて

    ARM開発者コマンドプロンプトからVS2013、MS2015、およびVS2017でプログラムをコンパイルする際に問題があります。 <stdint.h>と<arm_neon.h>のドキュメントによれば、ヘッダーは正しいです。 問題は何ですか?どのように修正できますか? ここにプログラムスタブがあります。他のコンパイラの下でfull program worksの罰金。 #include <stdint

    1

    1答えて

    はthis questionによると、私はそれが正しく仕事をしていませんが、それは十分に速くない7で5,7によって水平加算にこの時間5を実装しました。 それはそれよりも速くすることができますか?私はhaddと他の指示を使用しようとしましたが、改善が制限されています。例えば、_mm256_bsrli_epi128を使うと少し上手くなりますが、それは車線のために利益を奪う余分な順列を必要とします。です

    2

    1答えて

    2つの256ビットのベクトルAとBで16ビットの値を交換したいと思います。夢のようなやり方は、それを行うための組み込み命令を見つけることです。残念ながら、私は見つけることができなかったと私はこの仕事のための指示がないと思う。シャッフル、並べ替え、ブレンドなどの指示は、宛先の値を保持または破棄します。 vector A : |a0|a1|a2|a3|a4|a5|a6|a7||a8|a9|a10|a1

    4

    1答えて

    セットアップ上の過負荷:私はSIMD組み込み関数を使用し、いくつかのconstexprの機能内で使用したい機能を持っている を。 そのためには、私はそれをconstexprにする必要があります。しかし、SIMD組み込み関数はconstexprとマークされておらず、コンパイラの定数評価プログラムはそれらを処理できません。 私はSIMD組み込み関数を同じことをするC++ constexpr実装に置き換