simd

    2熱度

    2回答

    我有一個32位字的兩個帶符號16位值,我需要按常量值(可以從1到6)對它們進行右移(除)和飽和到字節(0..0xFF)。 例如, 0X FFE1 00AA與移= 5必須成爲0X 0000 0005; 0X 2345 1234必須成爲爲0x 00FF 0091 我試圖同時飽和值,像這樣的僞代碼: AND RT, R0, 0x80008000; - mask high bits to get nega

    2熱度

    4回答

    我正在做一些需要SIMD的工作,我需要對雙精度數組進行操作。任何主流架構都支持這個嗎?我只看過浮點運算。 由於事先 斯特凡

    0熱度

    1回答

    我試圖想出一種方法來讓計算機爲我做一些工作。我正在使用SIMD(SSE2 & SSE3)計算交叉乘積,我想知道它是否可以更快。目前,我有以下幾點: const int maskShuffleCross1 = _MM_SHUFFLE(3,0,2,1); // y z x const int maskShuffleCross2 = _MM_SHUFFLE(3,1,0,2); // z x y _

    13熱度

    2回答

    我正在寫一些代碼,並嘗試使用SIMD內在函數SSE2/3加速它。我的代碼具有這樣的性質,我需要將一些數據加載到XMM寄存器中並多次執行。當我查看生成的彙編代碼時,GCC似乎不斷清理數據回到內存,以重新加載XMM0和XMM1中的其他內容。我正在編譯x86-64,所以我有15個寄存器。爲什麼GCC只使用兩個,我能做些什麼來讓它使用更多?有什麼方法可以在寄存器中「固定」一些值嗎?我在我的變量定義中添加了

    1熱度

    2回答

    我看到gcc的一些資源,但不能用於Visual Studio。 任何人都有寶貴的參考資料,例子和竅門?

    38熱度

    3回答

    我想了解更多有關使用SSE的信息。 除了明顯的閱讀Intel® 64 and IA-32 Architectures Software Developer's Manuals之外,還有什麼方法可以學習? 主要我有興趣與GCC X86 Built-in Functions一起工作。

    4熱度

    5回答

    有沒有人利用gcc可以做的自動矢量化?在現實世界中(而不是示例代碼)?是否需要重組現有代碼才能獲得優勢?在任何生產代碼中是否有大量的情況可以通過這種方式進行矢量化?

    20熱度

    5回答

    任何人都可以推薦提供c/C++ API的便攜式SIMD庫,適用於英特爾和AMD擴展以及Visual Studio,兼容GCC。我正在加快縮放512x512陣列雙打的速度。矢量點積,矩陣乘法等。 到目前爲止,我發現的唯一一個是: http://simdx86.sourceforge.net/但作爲第一頁說,它不能在visual studio上編譯。 還有英特爾IPP從我收集的內容不適用於AMD。還有

    2熱度

    1回答

    很快我們就會有nVidia GTX 300能夠在多個數據(MIMD)上執行多個指令。我不知道OpenCL是否可以執行MIMD?