Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
用于预乘 ARGB 的 SSE alpha 混合
我正在尝试编写一个支持 SSE 的 alpha 合成器 这就是我想出的 首先 混合两个 4 像素向量的代码 alpha blend two 128 bit 16 byte SSE vectors containing 4 pre multi
Optimization
graphics
x86
SSE
SIMD
使用 AVX 内在函数代替 SSE 并不能提高速度 - 为什么?
我已经使用 Intel 的 SSE 内在函数相当长一段时间了 并取得了良好的性能提升 因此 我希望 AVX 内在函数能够进一步加速我的程序 不幸的是 直到现在情况并非如此 可能我犯了一个愚蠢的错误 所以如果有人能帮助我 我将非常感激 我使用
c
performance
gcc
SSE
avx
适用于 AVX 和 SSE 的 Visual Studio 的 cpu 调度程序
我使用两台计算机工作 一种不支持 AVX 另一种支持 AVX 让我的代码在运行时找到我的CPU支持的指令集并选择合适的代码路径会很方便 我按照 Agner Fog 的建议制作了一个 CPU 调度程序 http www agner org o
c
VisualStudio
SSE
avx
C/C++ 特殊 CPU 功能的使用
我很好奇 新的编译器是否使用了新 CPU 中内置的一些额外功能 例如 MMX SSE 3DNow 所以 我的意思是 在最初的 8086 中甚至没有 FPU 所以旧的编译器甚至不能使用它 但新的编译器可以 因为 FPU 是每个新 CPU 的一
c
SSE
mmx
将两个 32 位整数向量相乘,生成 32 位结果元素向量
将每个 32 位条目乘以 2 的最佳方法是什么 mm256i互相注册 mm256 mul epu32不是我正在寻找的 因为它产生 64 位输出 我想要每个 32 位输入元素都有一个 32 位结果 而且 我确信两个 32 位值的乘法不会溢出
x86
SSE
intrinsics
avx
avx2
orpd等SSE2指令有什么意义?
The orpd指令是 压缩双精度浮点值的按位逻辑或 这不是做完 全相同的事情吗por 按位逻辑或 如果是这样 拥有它还有什么意义呢 请记住 SSE1orps https www felixcloutier com x86 orps首先 实
Assembly
x86
SSE
instructionset
sse2
为什么 SSE 对齐读取 + 随机播放在某些 CPU 上比未对齐读取慢,而在其他 CPU 上则不然?
在尝试优化有限差分代码所需的未对齐读取时 我更改了未对齐的负载 如下所示 m128 pm1 mm loadu ps H k 1 进入这个对齐的读取 随机播放代码 m128 p0 mm load ps H k m128 pm4 mm load
performance
Optimization
x86
SSE
SIMD
_mm256_fmadd_ps 比 _mm256_mul_ps + _mm256_add_ps 慢?
我有一个图像处理算法来计算a b c d与AVX 伪代码如下 float a new float N float b new float N float c new float N float d new float N assign va
gcc
SSE
SIMD
avx
microoptimization
优化数组压缩
假设我有一个数组k 1 2 0 0 5 4 0 我可以按如下方式计算掩码m k gt 0 1 1 0 0 1 1 0 仅使用掩码 m 和以下操作 左移 右移 And Or 加 减 乘 我可以将 k 压缩为以下形式 1 2 5 4 以下是我目
Algorithm
MATLAB
SSE
SIMD
排列 SSE __m128i 寄存器内的字节
我有以下问题 In m128i寄存器有 16 个 8bit 值 顺序如下 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 我想要实现的是有效地洗牌字节以获得此排序 1 2 3 4 5 6 7 8 9 10 11
Optimization
SSE
SIMD
跨 AVX 通道的最佳方式是什么?
有些问题具有类似的标题 但我的问题涉及其他地方未涵盖的一个非常具体的用例 我有 4 个 128d 寄存器 x0 x1 x2 x3 我想将它们的内容重新组合在 5 个 256d 寄存器 y0 y1 y2 y3 y4 中 以准备其他计算 on
c
x86
SSE
SIMD
avx
SSE、内在函数和对齐
我使用大量 SSE 编译器内在函数编写了一个 3D 矢量类 一切都工作正常 直到我开始使用 new 来实例化具有 3D 向量作为成员的类 我在发布模式下经历了奇怪的崩溃 但在调试模式下却没有 反之亦然 因此 我阅读了一些文章 并认为我需要将
c
Alignment
SSE
intrinsics
在 SIMD 操作上下文中,非压缩指令和压缩指令有什么区别?
在 SIMD 操作上下文中 非压缩指令和压缩指令有什么区别 我正在阅读一篇关于优化 SSE 代码的文章 http www cortstratton org articles OptimizingForSSE php batch http w
SSE
SIMD
使用 GCC 为 Linux 设备驱动程序编译 Intel AVX 内联
我在 corei7 上的 ubuntu 上运行 gcc 版本 4 8 2 从谷歌搜索中找到了有关 AVX 内在函数的信息 但我不确定这组内在函数是否可以用于 Linux 设备驱动程序并进行编译 如果可以的话 这里的任何人都可以告诉我 mak
gcc
Linuxkernel
linuxdevicedriver
SSE
avx
用于读/写 XMM 和 YMM 寄存器的内联汇编代码?
我有 2 个变量来模拟 X86 XMM 和 YMM 如下所示 uint64 t xmm value 2 uint64 t ymm value 4 现在我想使用内联汇编来读取和写入 XMM YMM 寄存器 如何编写GCC内联汇编来复制xmm
gcc
Assembly
SSE
inlineassembly
使用 SSE/AVX 获取 __m256d 中存储的值的总和
有没有办法获得存储在 m256d 变量中的值的总和 我有这个代码 acc mm256 add pd acc mm256 mul pd row vec acc in this point contains 2 0 8 0 18 0 32 0
c
Optimization
SSE
avx
avx2
SSE,行主要与列主要性能问题
出于个人和娱乐目的 我正在使用 SSE 4 1 编写一个 geom 库 我花了最后 12 个小时试图理解处理行主要与列主要存储矩阵时的性能问题 我知道 Dirext OpenGL 矩阵是以行主顺序存储的 因此对我来说 将矩阵按行主顺序存储会
c
performance
matrix
SSE
C++ 错误:“_mm_sin_ps”未在此范围内声明
我正在尝试对将函数应用于数组的不同方法进行基准测试 why is mm sin ps在我的范围内不知道但是 mm sqrt ps is 我怎样才能让它知道 并且编译没有错误 include
c
Optimization
SSE
SIMD
intrinsics
调用always_inline‘_mm_mullo_epi32’时内联失败:目标特定选项不匹配
我正在尝试使用 cmake 编译 C 程序 该程序使用 SIMD 内在函数 当我尝试编译它时 出现两个错误 usr lib gcc x86 64 linux gnu 5 include smmintrin h 326 1 错误 调用alwa
c
CMake
x86
SSE
SIMD
SSE加载和添加
假设我有两个由两个类型数组表示的向量double 每个尺寸为2 我想添加相应的位置 所以假设向量i0 and i1 我想补充一下i0 0 i1 0 and i0 1 i1 1 一起 由于类型是double 我需要两个寄存器 诀窍是把i0 0
c
x86
SSE
SIMD
intrinsics
1
2
3
4
5
6
...11
»