相关疑难解决方法(0)

如何实现AVX2中的收集指令?

假设我正在使用AVX2的VGATHERDPS - 这应该使用8个DWORD索引加载8个单精度浮点数.

当要加载的数据存在于不同的缓存行中时会发生什么?指令是作为硬件循环实现的,它逐个获取缓存行吗?或者,它是否可以立即向多个缓存行发出负载?

我读了几篇论述前者的文章(这是对我更有意义的文章),但我想更多地了解这一点.

链接到一篇论文:http://arxiv.org/pdf/1401.7494.pdf

ram intel simd avx avx2

23
推荐指数
2
解决办法
5205
查看次数

使用Intel SIMD SSE加载非连续值

我想加载一个128位寄存器与32位非连续浮点数.实际上,那些浮点数在内存中间隔128位.

所以如果内存看起来像那样:

| Float 0  | Float X | Float X | Float X |
| Float 4  | Float X | Float X | Float X |
| Float 8  | Float X | Float X | Float X |
| Float 12 | Float X | Float X | Float X |
Run Code Online (Sandbox Code Playgroud)

我想加载这样的矢量:

| Float 0  | Float 4 | Float 8 | Float 12 |
Run Code Online (Sandbox Code Playgroud)

x86 assembly sse intel simd

5
推荐指数
2
解决办法
1600
查看次数

标签 统计

intel ×2

simd ×2

assembly ×1

avx ×1

avx2 ×1

ram ×1

sse ×1

x86 ×1