intrinsics 相关问题

在编译语言中使用内在函数来使用语言范围之外的特定CPU指令。

_mm_mfence() 函数做什么

查看Intel Intrinsics文档,_mm_mfence的概要如下 对发出的所有从内存加载和存储到内存的指令执行序列化操作...

回答 1 投票 0

随机掩码不适用于内在随机播放

我试图随机生成一个掩码(首先用0到15的值填充数组,然后对其进行洗牌),然后将其用作_mm_shuffle_epi8指令的参数。 __m128i

回答 1 投票 0

.NET8支持Vector512,但为什么Vector达不到512位?

我的CPU是AMD Ryzen 7 7840H,支持AVX-512指令集。当我运行.NET8程序时,Vector512.IsHardwareAccelerated的值为true。但 System.Numerics.Vector 仍然...

回答 1 投票 0

如何在运行时用C++区分Intel CPU各代?

SIMD 过去在 Intel CPU 上有初始化成本。因此,我正在寻找一种方法来在 C++ 运行时区分哪一代 Intel CPU 正在运行我的程序。 有没有

回答 1 投票 0

错误:使用未声明的标识符“vmaxq_f16”

每当我尝试使用 NEON 16 位浮点内在函数时,都会收到此错误。 我不会遇到其他数据类型内在函数的任何问题。 是不是可以在 Android 上使用 NEON 16 位浮点内部函数?...

回答 2 投票 0

从位位置整数数组设置/获取 __m256i 向量的 1 位

设置位: 给定一个数组 int inds[N],其中每个 inds[i] 是 [0, 255] 范围内的 1 位位置(并且所有 inds[i] 均已排序且唯一),我需要将 __m256i 的相应位设置为1. 有没有...

回答 1 投票 0

__m512 的压缩位测试

__m512 打包位测试没有内在的(如 _mm512_testz_si512)。 最好的方法是什么?

回答 1 投票 0

如何在AVX2中对齐/旋转256位向量?

我正在使用 AVX2 内在函数,并希望获得以下内容: 输入:[1,2,3,4,5,6,7,8] 输出:[8,1,2,3,4,5,6,7] 以下适用于 128 位向量: 让 vec1 = _mm_set_epi32(1,2,3,4)...

回答 1 投票 0

快速 __m256i 位操作 - 查找或清除最高或最低设置位

我正在寻找快速代码来在 __m256i 上执行以下操作,并且希望得到帮助: 清除最低有效位(设置的最低有效位) 清除最高有效位(最

回答 1 投票 0

一些快速 __m256i 位操作 - 查找或清除最高或最低设置位

我正在寻找快速代码来在 __m256i 上执行以下操作,并且希望得到帮助: 清除最低有效位(设置的最低有效位) 清除最高有效位(最

回答 1 投票 0

一些快速的 __m256i 位运算

我正在寻找快速代码来在 __m256i 上执行以下操作,并且希望得到帮助: 清除最低有效位(设置的最低有效位) 清除最高有效位(最

回答 1 投票 0

如何使用_mm256_shuffle_epi8对元素进行排序

我尝试以下代码。我知道随机播放功能有一些车道限制。但我不知道如何正确处理。有人有想法吗? #包括 int main() { ...

回答 1 投票 0

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

Avx2.Shuffle 使用 _mm256_shuffle_epi8 根据掩码对 128 位通道内的字节进行混洗,如果设置了最后一位,则将值归零。 Vector256.Shuffle 是如何工作的?与 Avx2.Shuffle 不同,它会...

回答 2 投票 0

如何有效地链接avx2内在函数来执行算术运算链?

我编写了一个大型程序来模拟分子系统。我在一台台式计算机上运行它,其处理器是 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz。大部分时间(75%)用于计算Lenn...

回答 1 投票 0

AVX2:将 4 个复数值与 4 个双精度值相乘和求和的最佳方法是什么?

xnec2c 项目中电磁模拟的一大热点就是采用这种形式,并且在整个计算过程中以各种方式重复相同的形式: *dst += (*a1) * (*a2) + (*b1) * (*b2) + (*c1) *...

回答 1 投票 0

使用 SSE2 内在函数进一步优化此卡方函数的建议

我正在尝试将 C 代码中的以下卡方函数转换为 SSE2 内在函数 我得到了这两个函数的正确输出。我测量了这两个函数所需的时间...

回答 1 投票 0

SSE加载和添加

假设我有两个向量,由两个 double 类型的数组表示,每个数组的大小为 2。我想添加相应的位置。所以假设向量 i0 和 i1,我想添加 i0[0] + i1[0] 和 i0[1] + i...

回答 2 投票 0

如何将 8 个打包的 32 位整数(在 __m256i 中)的 +-1 符号打包成 64 位整数的字节?

给定 __m256i 的打包 32 位有符号整数,如果原始 __m256i 中相应的 32 位有符号整数大于或

回答 1 投票 0

GCC 抛出错误,而 clang 在使用 _mm512_permutevar_epi32 时工作正常

我从 GCC 编译器收到此错误 - 错误:“_mm512_permutevar_epi32”没有依赖于模板参数的参数,因此“_mm512_permutevar_epi32”的声明必须是

回答 1 投票 0

查找32位数字中唯一设置位的位置

我需要获取32位数字中的1位数字,其中只有一个1位(总是)。最快的方式是C++或者asm。 例如 输入:0x00000001、0x10000000 输出:0,...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.