gpt4 book ai didi

performance - 为什么不将AVX寄存器用作超快速缓存?

转载 作者:行者123 更新时间:2023-12-04 04:11:26 24 4
gpt4 key购买 nike

我一直想知道为什么AVX无法提供帮助时,为什么AVX2提供的16x256位寄存器没有被用于存储普通寄存器-在您恰巧手头没有足够的寄存器的情况下,将高速缓存的命中率降至最低。难道您可以在1-2个周期内设置和访问AVX寄存器吗?

如果您要弄乱运行AVX程序的其他代码并将其踢出寄存器,那么所有这些当然都行不通。我还没有看到这种明显的方法被使用,这导致我提出了这个问题。

最佳答案

一次,英特尔确实建议在其优化手册中将通用寄存器溢出到SSE寄存器中。 (这并非完全是AVX,但是是相同的想法。)我没有查看过最新的手册,因此建议可能会或可能不会过时。

溢出到xmm寄存器的缺点在于,这些寄存器不会在函数调用之间保留。鉴于x86-64是寄存器存储机器,访问堆栈上的溢出值还需要更少的指令和更少的寄存器(比较add rax, [rsp+k]movq rbx, xmm0/add rax, rbx)。这或许可以解释为什么对这项技术没有太多兴趣。

关于performance - 为什么不将AVX寄存器用作超快速缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20865419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com