所以我有一些重量级算法,我更喜欢在VPU上运行,但由于这么多,VPU往往会饱和。反正以某种方式执行类似"使用VPU,如果VPU过载,请改用FPU"所以我有最大的吞吐量?
由于
答案 0 :(得分:0)
重新:评论。混合SSE&和它是一个问题。没有vzeroupper
的AVX(也许你用-march=native
或其他东西编译了剩下的代码,双精度数学使用AVX)。或者你的SSE版本更大,导致I-cache未命中。
或者你的microbenchmark可能是虚假的,你的一些SSE例程已经过优化了。
要回答这个问题,需要提供有关代码的更多详细信息。就像你确定你的FPU代码真的是x87,而不仅仅是SSE中的标量。