sse

    1

    1答えて

    「immintrin.h」に含まれるはずの_mm_pow_psまたは_mm256_pow_psのいずれの組み込み関数も見つからないようです。 Clangはこれらを定義していないか、ヘッダーに含めていませんか?

    6

    1答えて

    私はDのインラインアセンブラとSSEで遊んでいましたが、私が理解していないものが見つかりました。宣言の直後に2つのfloat4ベクトルを追加しようとすると、計算は正しいです。私が計算を別の関数に入れると、一連のnanが得られます。 //function contents identical to code section in unittest float4 add(float4 lhs, fl

    3

    1答えて

    私はSSE2からNEONのポートで作業しています。ポートは初期段階であり、不正な結果が生じています。不正確な結果の理由の一部は_mm_shuffle_epi32と私が選択したNEON命令です。 _mm_shuffle_epi32のドキュメントは、Microsoftから控えめな側にあります。 Intelのドキュメントが優れていますが、擬似コードのいくつかが何をしているのかはわかりません。 SELEC

    1

    3答えて

    AVX/SSEを使用して浮動小数点数を切り捨て、整数のベクトルを生成する方法はありますか?すべてのフロア固有のメソッドは浮動小数点の最終ベクトルを生成するように見えますが、丸めは整数を生成するので奇数です。

    2

    1答えて

    私はopenMPを学んでいて、私の限られた知識で私のコードを軽視しました。 OpenMPのベクトル化手法を使用してこのコードを改善しようとしています。しかし、関連する読書資料(link)を調べているうちに、long doubleデータ型でベクトル化操作を行うことはできませんでした。誰かがそれがなぜそうであるかに関する情報を提供し、精度を下げる以外の解決策を提案することはできますか? SIMDハード

    0

    1答えて

    次のSIMDコードをvs2013で実行しようとしています。それはうまくコンパイルできますが、実行することはできません。なぜ誰も知っていますか? #include <cstdio> #include <xmmintrin.h> int main() { const size_t num = 7; float a[num] = { 1, 2, 3, 4, 5, 6, 7 }

    1

    1答えて

    MSVC v140でコンパイルされた小さなC++プログラムを逆アセンブルし、コード設計がパフォーマンスにどのように影響するかをよりよく理解するために、1命令あたりのサイクル数を見積もっています。私は"Data-Oriented Design and C++"のマイク・アクトンのCppCon 2014講演、特に私がリンクした部分に従っています。それに 、彼はこれらの行を指摘する: movss 8(%

    1

    1答えて

    GCCのasmを使用して実際のアプリケーションを実行するための基本機能をいくつか書いています。 私の関数pretty,wrap、およびpureは、64ビット整数を128ビットベクトルにアンパックするのと同じ命令を生成します。 およびwrapをそれぞれ呼び出すadd1およびadd2も同じ命令を生成します。しかしadd3は、xmm0レジスタを別のxmmレジスタにコピーするのではなく、スタックにプッシュ

    0

    1答えて

    私は、Linux x64でSIMD(SSE)プログラミングを研究しています。 もう1つの短い配列型varに1つの配列short型を割り当てたいとします。 実行結果が間違っています ここに私のソースです。問題は何ですか? #include <stdio.h> #include <emmintrin.h> int main(int argc, char* argv[]) { shor

    2

    1答えて

    パックされたバイトがxmm0である場合、xmm1に各バイトの (すなわち最高位の)ビットを抽出する効率的な方法はありますか?言い換えれば、 は、パックされたバイトごとに論理ANDを0x80で計算したいと考えています。例えば :あなたはちょうどあなたが左、右とシフトしたくないビットをオフにノックすることはできませんので xmm0: 0xff 0xef 0x80 0x7f 0x01 ... xmm1