intrinsics 相关问题

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

`vmovdqu8` / 16 / 32 / 64 指令和 `_mm_loadu_epi8` / 16 / 32 / 64 内在函数目的

通过 _mm_loadu_si128 可以使用需要 SSE2 的 movdqu。 vmovdqu8 (16, 32, 64) 可通过 _mm_loadu_epi8 (16, 32, 64) 获得,可通过 AVX512BW + AVX512VL 或 AVX512F + AVX512VL 获得。 W...

回答 1 投票 0

如何在一个C++应用程序中支持多个SIMD架构?

我正在用 C++ 编写一个应用程序,我想使用 SIMD 的内在函数。 现在我想为不同的架构(如 SSE、AVX2 和 AVX512)编写单独的代码。 我可以在运行时检查哪个硬件...

回答 1 投票 0

Avx2 内在函数不使用所有可用的寄存器。 .NET 8

我使用 SIMD 优化了某些算法,使得它们与 L1 缓存相比具有延迟限制。由于只有 C# 编译器知道的原因, said 莫名其妙地发出只使用 ym 的代码...

回答 1 投票 0

打印 __m128i 变量

我正在尝试学习使用内在函数进行编码,下面是一个执行加法的代码 使用的编译器:icc #包括 #包括 int main() { __m128i a =

回答 4 投票 0

AVX512 对 512 位 8 位字符执行 AND 操作

我想对两个包含 8 位元素的 512 位向量进行 AND 运算。 查看 Intel Intrinsics Guide,我可以看到一些 512 位 AND 运算: __m512i _mm512_and_epi32(__m512i a,__m512i b) __m512i

回答 1 投票 0

AVX512 中 _mm256_sign_epi8 的等效函数

我正在尝试编写 AVX512 代码。在进行相同的工作时,试图在 AVX512 中寻找类似于 _mm256_sign_epi8 的函数,但无法找到等效的函数。这真的是你...

回答 1 投票 0

ARM Neon 内在函数 - FMA 中的通道

我是 ARM NEON 内在函数的新手,正在查看它的文档。他们提供了一组很棒的示例,其中包括一个矩阵乘法示例,该示例使用他们的向量 FMA 指令...

回答 1 投票 0

使用 AVX 本质避免内存错误

我一直在尝试使用 AVX 指令来加速一些神经网络计算。但是,我不断遇到以下错误“[...] 处未处理的异常:读取访问冲突

回答 2 投票 0

C++ 错误:‘_mm_sin_ps’ 未在此范围内声明

我正在尝试对将函数应用于数组的不同方法进行基准测试。 为什么是 https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=3260,2124,4779,4779&cats=Trigonometry&t...

回答 4 投票 0

有没有一种有效的方法可以使用SIMD内在函数获取SIMD寄存器中的第一个非零元素?

如标题所示,如果一个256位SIMD寄存器是: 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 如何有效地获取第一个非零元素的索引(即第一个 1 的索引 2)?最

回答 2 投票 0

如何计算 ARM Neon 上的按位独占前缀奇偶校验?

我有一个特定的功能,我需要使其便携且高效。 这是简单的实现,仅供参考: 模板 常量表达式 T

回答 1 投票 0

内在候选静态方法引用一段时间后就消失了?

我有以下比较器实现: 私有静态最终类 ValueComparator> 实现 Comparator { 私人...

回答 2 投票 0

如何在.NET 中将 Vector128<float> 转换/重新解释为 Vector128<int>?

我正在寻找无操作 x86 内在 _mm_castps_si128 的 .NET 3.0+ 等效项。如何快速将 Vector128 转换为 Vector128 以便位模式保持不变。

回答 2 投票 0

使用内在函数/AVX时“mask_mov”和“mask_blend”有什么区别?

比如说,_mm512_mask_mov_epi64 和 _mm512_mask_blend_epi64 有什么区别。除了参数的顺序和名称之外,我看不出有任何区别。英特尔内在函数指南中的伪代码

回答 1 投票 0

如何取消设置最右边的 N 个设置位

有一个相对知名的技巧可以取消设置最右边的一位: y = x & (x - 1) // 0b001011100 & 0b001011011 = 0b001011000 :) 我发现自己有一个紧密的循环来清除...

回答 1 投票 0

Bug:等效向量内部代码 c

目前我有一段 C 代码,它是用 Intel 内在函数编写的,它使用 AVX512BW + AVX512VL 和 SSE 指令。 尝试加载 16 字节数据的地方 __m128i 输入 16 =

回答 1 投票 0

如何优化测试以检查 std::array<float, 4> 是否包含超出范围的值?

我有一个 4D 向量:std::array 我想检查它的所有组件是否都在值范围内:0.0f <= X && X < 256.0f How do I check if any of the vector component...

回答 1 投票 0

_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

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