超级胶水

Superglue:一个共享内存框架,使用数据版本控制来实现基于依赖关系的任务并行化。在计算科学中,需要有效地利用多核体系结构来处理复杂的实际应用问题。然而,随着硬件复杂性的增加,编写和重写软件以适应不断发展的计算机系统所需的工时成本越来越高。基于任务的并行编程模型旨在让应用程序程序员专注于算法和应用程序,而性能则由运行时系统来处理,该系统将任务调度到节点、核心和加速器上。本文描述了一个任务并行编程模型,其中依赖关系通过数据版本控制来表示。我们的模型允许在没有人工依赖的情况下表达程序控制流,解析依赖关系的复杂度较低,并且能够在本地做出调度决策。我们将其作为一个免费可用的C++头模板库来实现,并展示了实验结果,表明与类似的运行时系统相比,我们的实现具有可伸缩性和良好的性能。

此软件的关键字

这里的任何内容都将在支持canvas元素的浏览器上被替换