avx 相关问题

Advanced Vector Extensions(AVX)是针对Intel和AMD微处理器的x86指令集架构的扩展。

AVX 与字节以外的类型混洗

shuffling 的 api 仅支持 byte 和 sbyte // // 概括: // __m256i _mm256_shuffle_epi8 (__m256i a, __m256i b) // // VPSHUFB ymm, ymm, ymm/m256 // // 参数: ...

回答 1 投票 0

AVX2 在生成 uint 的同时消耗字节?

慢慢学习SIMD,但在尝试用SIMD解决问题时,仍然有一些方面我无法理解。其中之一是当输入小于

回答 1 投票 0

AVX 和 AVX2 之间的区别

下面是 AVX2 中矩阵乘法的实现。我使用的机器仅支持 AVX,因此我尝试使用 AVX 实现相同的配置。 然而,我在破译方面遇到了困难

回答 1 投票 0

使用 AVX 矢量警告编译旧版 GCC 代码

我一直在尝试在谷歌上搜索,但找不到任何有用的东西。 typedef int64_t v4si __attribute__ ((vector_size(32))); //警告:未启用 AVX 的 AVX 矢量返回会更改 ABI [-...

回答 1 投票 0

将半字节解包为字节 - 直接指令/实现和保持符号的有效方法

const __m128i 掩码 = _mm_set1_epi8(0x0F); const __m128i vec_unpack_one = _mm_and_si128(vec, 掩码); const __m128i vec_unpack_two = _mm_and_si128(_mm_srli_epi16(vec, 4), mask); 我在这里有一个...

回答 1 投票 0

指令中的 AVX 舍入

我注意到,使用 AVX,可以从 MXCSR 寄存器获取舍入模式,并且可以通过指令 (EVEX.RC) 抑制此默认值,从而允许指令指定舍入模式 w...

回答 1 投票 0

在 __mm128 寄存器中设置最后一个值

所以我有一组具有混合值的数据用于打包目的,如下所示: {(Point_x, Point_y, Point_z, 标量),(Point_x, Point_y, Point_z, 标量),(Point_x, Point_y, Point_z, 标量),...}...

回答 1 投票 0

std::sort、std::accumulate、std::memcpy 可以因为 -mavx / -mavx2 标志而向量化吗?

我有一个使用 Clang 编译器在 -mavx/-mavx2 标志下编译的 C++ 源文件。 有些函数有 AVX2 实现,但有些只是纯粹的 std 调用。 我想知道可以 std::

回答 1 投票 0

比较两个 __m256i 变量的 less(总排序)

对于许多算法,我们需要一个小于运算符。我如何使用 __m256i 变量进行该操作?我只关心总排序,而不关心它在数学意义上是否“正确”......

回答 1 投票 0

如何优化小型固定大小数组中的搜索?

我想找到 16 字节数组中第一次出现的字节。如果我编写一个简单的版本(使用迭代器或手动循环),rustc 似乎不会矢量化(https://godbolt.org/z/

回答 1 投票 0

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

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

回答 1 投票 0

在 Linux 信号处理程序中,x86 扩展状态将始终采用 XSAVE 格式,还是也可以采用 XSAVEC 格式?

在 x86-64 上,当 Linux 用户模式程序崩溃时,但有一个用于该崩溃的信号处理程序,AVX 扩展状态是否始终以 XSAVE 格式保存到堆栈中,或者可以以 XSAVEC 格式保存到堆栈中(“

回答 1 投票 0

使用 AVX 本质避免内存错误

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

回答 2 投票 0

std::replace 实现可以对传递的数组进行冗余写入吗?

std::replace 实现可以使用矢量化进行优化(通过专门化库实现或编译器)。 矢量化实现将比较并替换几个元素...

回答 1 投票 0

使用AVX2是否可以实现对字数组上LZCNT的更快处理?

我需要使用 LZCNT 进行反向位扫描,字数组:16 位。 在 Intel 最新一代处理器上,LZCNT 的吞吐量为每个时钟执行 1 次。 AMD Ryzen 的吞吐量似乎...

回答 2 投票 0

MSVC 如何避免混合 SSE 和 AVX?

尽管混合 SSE 和 AVX 编码会带来臭名昭著的惩罚(请参阅为什么在 Skylake 上没有 VZEROUPPER 的情况下这个 SSE 代码会慢 6 倍?),但可能需要混合 128 位和 256 位操作。

回答 1 投票 0

有ARM Neon Gather指令吗?

有ARM Neon SIMD Gather指令吗? 我正在寻找与以下 Intel Intrinsic 指令等效的指令: _mm_i32gather_ps(blob, 索引, 4); 我可以找到相关说明,例如...

回答 1 投票 0

运行基本 Avx512 代码时获取非法指令

我正在尝试学习 AVX 指令,并且在运行我收到的基本代码时 非法指令(核心转储) 下面提到了代码,我正在使用它进行编译 g++ -mavx512f 1.cpp...

回答 1 投票 0

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

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

回答 2 投票 0

利用和优化 SIMD 在 cython 中进行矩阵轴循环

以下 cython 3.0.8 代码正在使用 -O3 编译标志的支持 AVX2 的机器上进行编译和运行,但在从下面的 pytho 使用时不会使用任何 SIMD 指令...

回答 1 投票 0

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