simd

    6

    2答えて

    私はSSEタイプ間で変換を実装していますが、SSE4.1より前のターゲットでint8-> int64変換を拡張するのは面倒です。 簡単な実装は次のようになります。 inline __m128i convert_i8_i64(__m128i a) { #ifdef __SSE4_1__ return _mm_cvtepi8_epi64(a); #else a = _mm_u

    3

    1答えて

    私の質問は、Visual Studio 2015でSIMDの自動ベクトル化の最適化(リリースモードの他の最適化を維持する)だけを無効にする方法です: 1)プロジェクト全体がコンパイルされています。 2)コード部分。 最初のケースでは、プロジェクト全体で無効にする方法を知りたいと思います。 2番目のケースでは、#pragma optimize("", off)と#pragma optimize(""

    2

    1答えて

    私は係数ベクトルを生成し、このベクトルのドット積を大きな配列から取ったデータベクトルで返します。スピードを上げるために、私はAVX2 SIMD組み込み関数を使用して、一度に8つのベクトルに対してこれを行います。問題は、大量の時間がドット製品のデータを取得するギャザー操作によって消費されてしまうことです。 私はギャザーを実装するさまざまな方法を試しましたが、組み込み関数が最もうまくいくようです。これ

    3

    1答えて

    SSE組み込み関数を使用して16個の8ビット整数を4で除算(または2を右にシフト)するにはどうすればよいですか?

    1

    1答えて

    私は今、SIMDを学び、コンパイラに自分のコードを最適化する方法を考えています。今、私はVisual C++ 2013 x86で遊んでいます。 私は配列を持って、私は別の配列を持っている、と私はこのように計算したい:私は配列は16バイト境界と誰に整列されているコンパイラに伝えたい void computeSum(float* __restrict arr, float* __restrict in

    0

    1答えて

    行列の乗算を高速化するために、GCCベクター拡張子(https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html)を使用しようとしています。この考え方は、SIMD命令を使用して4つの浮動小数点数を一度に増やして加算することです。最小限の作業例を以下に示します。この例は、(M = 10、K = 12)行列に(K = 12、N = 12)行列を乗算

    1

    1答えて

    ymm0レジスタの値をgccの変数として表現しようとしています。 私はこのコードを試してみました:私は256ビットレジスタのために使うべき__m256よりも他のいくつかのタイプがあります encryptor.c:72:17: error: data type of ‘_YMM0_r’ isn’t suitable for a register register __m256 _YMM0_

    0

    1答えて

    私はAVXでプログラミングすることを学んでいます。そこで、私はサイズ4の行列を乗算する簡単なプログラムを書いた。コンパイラの最適化がないうちに、AVXバージョンは非AVXバージョンよりわずかに高速で、O3最適化では非AVXバージョンはAVXバージョン。どのようにAVXバージョンのパフォーマンスを向上させることができますか?以下は完全なコードです。 #include <immintrin.h> #

    5

    1答えて

    組み込み関数を使用して、SIMDベクトルの要素をインクリメントする必要があります。 (注:vec_incは前に1に設定されている)最も簡単な方法は、このように、各要素に1を追加することであるように思わ vec = _mm256_add_epi16 (vec, vec_inc); が、ベクトルをインクリメントする特別な指示はありますか? incのようにthis page?または他の簡単な方法?

    -1

    1答えて

    私は一度に3つの非対称整数値の3つの対称セットで動作するいくつかのコードを持っています。かなりの量の条件コードと多くの定数があります。 これはperfボトルネックになっており、64ビットIntel/AMD CPU上のSIMDでパフォーマンスが向上すると、私はいくつかのルールを探しています。コードはかなり長く、前にSSE2やAVXを使用したことがないので、時間を投資する前にperfの勝利が可能かどう