多核程序优化工具——Cilk++ 1.0发布


据国外媒体报道:Cilk Arts,一家制作多核编程软件的公司,发布了Cilk++ 1.0,这是一个对Linux和Windows下运行在多核处理器上的程序性能进行优化的平台。通过Cilk++,用户可以对支持多核的应用程序进行快速的开发、测试和发布。该套解决方案包括一套C++语言的扩展、一个运行时系统以及一些简化多核软件开发的工具。

对以原始顺序执行并可以被并行执行的代码片段,Cilk++对其进行标记,从而保持了程序原本的结构。用Cilk++编写的程序执行结果与原先的顺序执行程序一样,并能够像普通的顺序执行C++程序一样编译和调试。这样一来,程序员仍然可以在顺序执行范围内使用他们现有的工具,这样使得Cilk++易学易用。这正与其它并行程序开发方法相反,那些方法要求开发者必须学习并行编程下的基础知识,以便适应并行思维。

当向程序中加入了并行机制,程序会因 “资源竞争(Race Condition)”会变得脆弱——并行程序独有的bug在测试时很难被发现。不过通过Cilkscreen Race Detector开发者可以建立像原来顺序程序一样可靠的多核程序。

通过Cilk++运行时系统(Cilk++ Runtime System)程序可以动态并且自动的使用任意数量的可供使用的处理器内核,并且当核心增加时其额外开销和线性放大也会很低。因此程序具有了“应付未来”的能力,也不用因下一代多核处理器的出现而重写代码。

“我们已经可以使我们的程序简单快速地被并行化”,RSA Data Security的创始人、麻省理工的Ron Rivest教授说,“我们新的MD6加密哈希算法展现出了优异的性能,目前为止,通过Cilk++实现的MD6算法保持着吞吐量的世界纪录!”。

相关内容