本帖最后由 lik 于 2012-1-27 02:39 编辑
gzpony 发表于 2012-1-26 23:41 ![]()
当然是根据应用需求来挑选框架模型,这才是工业化或者工程化的做法。
就像建房子前确定是钢结构还是什么 ...
你说的这些只是做到"能跑", 不等于说是优化. 如果要充分利用多核, 需要应用程序有足够的并行度. 编译器或者库函数可以找到一些并行度, 但是如果要真正优化, 还需要好的程序员自己写程序.
一个极端的例子就是C2D/Q和MIC. 为Penryn开发的程序简单编译之后估计能在knights corner运行, 但是能充分利用所有的核吗? 当然不能. 底层的框架目前还没能做到这么神. 当然等以后技术进步了, 底层的框架完善了, 码农写出来的程序也是优化的. 不过在那一天到来之前, 真正优化的程序还需要程序员而不是码农.
也许这个例子有点极端, 两核到四核可能跨越不是特别大吧.我觉得要真正通过多核来省电, 程序还是需要一定的优化.
|