我在 AVX2 上工作,需要计算 64 位 x64 位 -> 128 位加宽乘法,并以最快的方式获得 64 位高位部分。既然AVX2没有这样的指令,那么我使用Karatsuba算法来提高效率和获得速度是否合理?
不会。在现代架构中,Karatsuba 击败教科书乘法的交叉通常在 8 到 24 个机器字之间(例如,x86_64 上的 512 到 1536 位之间)。对于固定大小,阈值位于该范围的较小端,新的 ADCX/ADOX 指令可能会在标量代码中进一步提高阈值,但 64x64 仍然太小,无法从 Karatsuba 中受益。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)