当使用SSE指令/内部函数时,例如对于256位寄存器,有没有人能够通过在下一个32字节块上使用预取指令或通过某种其他技术来减少从内存加载扩展寄存器所花费的时间?假设要加载的数据已经在内存中正确对齐。
发布于 2016-10-01 17:56:13
有关x86 x86性能的更多信息,请参阅CPU标签维基。硬件预取器在锁定顺序访问模式方面做得很好,所以你通常不需要软件预取指令。
通常,将宽向量加载并解压缩到单独的整数寄存器中并不是一种成功的做法。一旦你接触到一条缓存线,更多的负载就会变得很便宜,而且从L1缓存到寄存器的吞吐量通常不是问题。使用ALU指令将256b加载解压成单独的32或64b整数只需要更多的指令,这意味着您更有可能在ALU吞吐量上遇到瓶颈。
https://stackoverflow.com/questions/39715677
复制相似问题