你有一个三(或四)个浮点数的向量.总结它们的最快方法是什么?
SSE(movaps,shuffle,add,movd)总是比x87快吗?SSE4.2中的水平加法说明值得吗?移动到FPU的成本是多少,然后是faddp,faddp?什么是最快的特定指令序列?
"尝试安排事情,这样你可以一次总结四个向量"将不被接受作为答案.:-)
我在D(http://dsource.org/projects/stacy)中编写了一个相对简单的光线跟踪器/路径跟踪器,但即使进行全面优化,每条光线仍需要几千个处理器周期.我还能做些什么来加快速度吗?更一般地说,您是否知道光线跟踪的良好优化/更快的方法?
编辑:这就是我现在正在做的事情.
据我所知,在DS上运行的代码必须加载到RAM中,因此从已经限制的4M开始.有没有办法直接从图像运行DS代码?
MXCSR之类的东西有哪些最佳设置?哪种舍入模式最快?什么处理器?启用信号NaN是否更快,以便在计算结果为nan时获得通知,或者这会导致非NaN计算的速度减慢?
总之,如何从紧密的内部SSE循环中获得最大速度?
任何相关的x87浮点速度建议也欢迎.
我正在编写路径跟踪器,并且必须收集每个像素的大量样本的平均值.我在1024个样本运行和16384个样本运行之间得到了显着的视觉差异; 16384样本运行较暗.我猜想这是因为16384样本图像遇到了浮点精度误差.我通过将每个值除以16384来平均颜色值,然后将它们加在一起.
有没有办法平衡一个具有已知幅度的大型,难以计算的数字集,同时最小化舍入误差?最好不要求非恒定存储器,绝对不丢弃任何样品?
assembly ×2
optimization ×2
sse ×2
x86 ×2
average ×1
d ×1
graphics ×1
libnds ×1
math ×1
nintendo-ds ×1
performance ×1
raytracing ×1
runtime ×1
x87 ×1