我的教授发现了使用SSE和OpenMP的3D线性可分内核卷积这个有趣的实验,并给我任务来对我们系统的统计进行基准测试。作者声称从系列方法出现18倍的疯狂加速!可能并不总是这样,但我们期望在双核英特尔上至少有2-4倍的加速比。OpenMP + SSE不加速
唉,我们可以准确地找到没有加速。无论使用或不使用OpenMP,串行代码始终性能更好。
我正在使用Linux,并观察到某种趋势......当系统上没有其他进程正在运行时,一段时间后loadavg开始增加,并且%CPU使用率下降。
另一个可能的误报,我偶然遇到了......我启动了程序,然后立即暂停了它。然后我用bg在背景上运行它,并看到超过2的加速。这种情况一直发生!
任何建议将是伟大的。
感谢, 萨扬
你确定你的CPU速度是瓶颈吗? – Mene 2010-04-12 15:46:43
抱歉排除一个重要部分。我只是发送程序两件事,XYZSize和程序运行的次数。因此,在具有4 GB RAM的双核上,如果我通过1024X1024x1024的整数值,则会达到4GB的限制。也许这就是奇怪的事情发生在%CPU下降和loadavg增加的原因。但即使对于较小的值,例如16,32,64或256(程序接受XYZSize的倍数为8),也绝对不会加速。 – 2010-04-12 23:46:05