cost 246 ms
如何使用 SSE 內在函數(32 位浮點數)計算 2x2 矩陣乘以 2D 向量? (C++、Mac 和 Windows)

[英]How to calculate 2x2 matrix multiplied by 2D vector using SSE intrinsics (32 bit floating points)? (C++, Mac and Windows)

我需要計算一個二維矩陣乘以二維向量。 兩者都使用 32 位浮點數。 我希望使用 SSE(任何版本)來實現速度優化目的,因為我將使用它進行實時音頻處理。 所以我需要的公式如下: 如果有意義的話,我正在考慮從 memory 讀取整個矩陣作為 128 位浮點 SIMD(4 x 32 位浮點)。 但是,如 ...

Vector256.Shuffle 如何在 .Net 7+ 中工作?

[英]How does Vector256.Shuffle work in .Net 7+?

Avx2.Shuffle 使用 _mm256_shuffle_epi8 根據掩碼在 128 位通道內隨機播放字節,如果設置了最后一位,則將值歸零。 Vector256.Shuffle是如何工作的? 與Avx2.Shuffle不同,如果隨機播放控制掩碼值超過元素數,它將為零。 此外,它還支持跨車 ...

為什么 GCC 避免多元素聯合的向量寄存器?

[英]Why does GCC avoid vector registers for multi-element unions?

我注意到,當 GCC 被賦予 SIMD 向量類型和任何其他非向量類型的相同大小和相同對齊類型的聯合時,它會生成非常不同(且效率較低)的代碼。 特別是,正如在此 Godbolt 示例中所見,當將__m128向量類型放置在具有非向量類型的聯合中時,該聯合會在兩個 XMM 寄存器(每個參數)中傳遞,然后 ...

OpenGL 上的 GPU 可能出現“內在函數”嗎?

[英]"Intrinsics" possible on GPU on OpenGL?

我對 OpenGL 上的“類似內在”的東西有這個想法,但谷歌搜索沒有結果。 所以基本上我有一個計算着色器來計算 Mandelbrot 集(每個線程處理一個像素)。 我在 GLSL 中的部分主要功能如下所示: 所以我的想法是使用vec4而不是floats ,因此一次進行 4 個計算/像素,並希望獲得 ...

C 使用SIMD指令時代碼運行速度變慢?

[英]C code run slower when SIMD instructions are used?

我是一個SIMD新人,寫了一個程序,將圖像從ARGB轉為灰度,主要運行代碼如下: 這是我修改后的 SIMD 程序,它比原來的要慢得多。 出現這個結果的原因是因為類型轉換比較多嗎? 但是我不知道還有什么地方可以優化,請幫助我,謝謝。 ...

提取 AVX2 16x16 位矩陣的邊緣

[英]Extracting edges of AVX2 16x16 bitmatrix

是否有一種相對便宜的方法可以將存儲在__m256i中的 16x16 位矩陣的四個邊(第 0 行和第 15 行,以及第 0 列和第 15 列)提取到__m256i的四個 16b 通道中? 我不管output到哪條車道,也不管寄存器的rest有沒有垃圾。 對所有這些都處於低半部分的溫和偏好,但只是溫和的 ...

SSE divrem 內存存儲要求

[英]SSE divrem memory store requirements

我正在搜索有關divrem內在序列及其內存要求(用於商店)的信息。 這些人(檢查 SSE 和 SVML 以查看 intel intrinsics 文檔):__m128i _mm_idivrem_epi32 (__m128i * mem_addr, __m128i a, __m128i b) __m2 ...

使用 SIMD 將 ascii 字符串打包成 7 位二進制 blob

[英]bitpack ascii string into 7-bit binary blob using SIMD

相關: 使用 ARM-v8 Neon SIMD 將 ascii 字符串位打包為 7 位二進制 blob - 專門針對 AArch64 內在函數的相同問題。 這個問題涵蓋可移植的 C 和 x86-64 內在函數。 我想將 char 字符串編碼為 7 位 blob,以便在 memory 中獲得 12. ...

如何為 MSVC Visual Studio 指定目標 CPU/架構 Haswell?

[英]How to specify target CPU/architecture Haswell for MSVC Visual Studio?

我有一個程序大量使用內部命令_BitScanForward / _BitScanForward64 (又名計數尾隨零、TZCNT、CTZ)。 我不想使用內在函數,而是使用相應的 CPU 指令(在 Haswell 及更高版本上可用)。 當使用 gcc 或 clang(其中內在函數稱為__builti ...

我將如何在 Ada 中定義 __m256i 數據類型?

[英]How would I define the __m256i data type in Ada?

我正在嘗試使用 GNAT GCC 編譯器在 Ada 2012 中為 AVX2 編寫一個庫。 我目前定義了一個數據類型 Vec_256_Integer_32 ,如下所示: 請注意,我已根據immintrin.h的_mm256_load_si256內在函數的英特爾文檔中指示的 32 字節邊界對齊數組。 ...

為什么在 AVX512 中復制 function 置零?

[英]Why duplicated function in AVX512 to set zero?

我來到了這兩個功能: _mm512_setzero_epi32() _mm512_setzero_si512() 從邏輯上講,他們在做同樣的事情。 然后查看生成的Assembly ,在不同的優化級別下也發現一樣。 這是一個簡單的問題:為什么 AVX512 有這樣的重復設計,將 int 設置為 0? ...

您應該通過引用還是通過復制來傳遞 __m128(和其他寄存器類型)?

[英]Should you pass __m128 (and other register types) by reference or by copy?

我一直在想,在 c++ 中傳遞寄存器類型的最佳方法是什么? 在我的特定情況下,我有一些抽象層,這些抽象層又調用所需的內在函數。 Immintrin 函數按值接受(副本),所以我猜它應該是一個副本。 但我想確定(並滿足我的好奇心)。 又名,__m128 func(__m128 a, __m128 ...

在 LLVM、RISC-V 中將 vsetivli 替換為 vsetvli

[英]Replace vsetivli to vsetvli in LLVM, RISC-V

我在Halide項目的 LLVM 的幫助下生成了一個二進制文件。 簡而言之,二進制文件使用 RVV 1.0,而我的硬件是 AllWinner D1 C906 是 RVV 0.7,因此一些內在函數不受支持,我正在尋找一個選項來確定和刪除/替換 LLVM 源代碼中不受支持的 RVV 1.0 內在函數。 ...

TypeScript 中的美元符號語法是什么?

[英]What is dollar sign syntax in TypeScript?

我試圖探索 TypeScript intrinsic Capitalize實用程序類型並找到了它是如何實現的描述——它看起來像這樣 我不能從這段代碼中得到兩件事: TS怎么理解${infer C}是第一個字母呢? $S語法是什么? 小更新。 我的問題不完全正確,上面的代碼不是Capitaliz ...

為什么avx512中的shuffle bytes vpshufb需要計算index index[5:0]:= b[i+3:i] + (j & 0x30), j & 0x30的function我不明白

[英]Why shuffle bytes vpshufb in avx512 needs to compute index index[5:0] := b[i+3:i] + (j & 0x30), I don't understand the function of j & 0x30

為什么 avx512 中的vpshufb字節洗牌需要將索引計算為index[5:0]:= b[i+3:i] + (j & 0x30) ? _mm512_shuffle_epi8(a,b) (無掩碼)的內在函數指南偽代碼是: 我不明白j & 0x30的function是什么意思。 因 ...

在沒有 avx512 支持的情況下編譯時防止 immintrin.h 包含 avx512 標頭

[英]Prevent immintrin.h from including avx512 headers when compiling without avx512 support

我在沒有 AVX512 支持的情況下進行編譯,但我注意到 immintrin.h 為 AVX512 拖入了大量的 LOC,例如 我試圖檢查指定 march 選項是否有幫助,但它似乎沒有幫助。 我知道理論上我可以破解我的 gcc 安裝並祈禱當我從 avx512 標頭中刪除所有內容時它會工作,但我正在尋 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM