全新的硬件架构自然需要全新的软件编程来支持。为了确保推土机(Bulldozer)的潜力能够得到充分释放,AMD也正在与业界软件厂商进行全面合作。
AMD推土机架构设计了新的模块化理念,每两个核心紧密联系在一起,动态共享部分资源并协同处理两个线程。这种方式的执行效率究竟会如何?软件开发人员也面临着新的挑战。
AMD服务器工作站产品市场总监John Fruehe通过官方博客解释说:“对于绝大多数软件来说,操作系统会与处理器密切协作,管理线程与核心之间的关系。我们正在与微软、开源软件社区合作,确保未来的操作系统能够理解如何有效地调度推土机的成对核心。操作系统会明白你的机器能用于最大化性能,还是最大化性能功耗比,从而充分发挥核心性能提升的优势。”
AMD宣称,推土机每个模块中的两个整数核心能发挥类似架构双核心处理器大约80%的吞吐能力。当然了,系统和软件工作负载的不同,硬件性能和效率也会有很大差异,所以推土机需要的就是软件优化。
举例来说,如果一个程序的两个线程共享数据集,也符合推土机的二级缓存架构,那么在同一个模块内执行它们将会获得很高的效率,相反如果程序没有针对二级缓存进行优化设计,或者线程间独立性很强,那就需要调用不同的模块来执行它们了。
网友评论