cphVB:一种用于向量化应用自动运行时优化与并行化的系统
编程语言
2013-03-26 v2 分布式、并行与集群计算
摘要
现代处理器架构除了拥有更多的核心外,还需要更多地考虑内存布局以充分发挥其性能。大多数语言的实用性正在下降,因为它们的抽象、结构或对象难以高效地映射到现代处理器架构上。本文介绍了一种新的抽象机框架 cphVB,它使面向向量的高级编程语言能够高效地映射到广泛的架构上。其理念是弥合高级语言与硬件优化的低级实现之间的差距。通过将高级向量操作翻译为中间向量字节码,cphVB 使专用向量引擎能够高效执行向量操作。主要成功参数是保持与低级细节的完全抽象,并在不同的现代处理器上提供高效的代码执行。我们通过针对多核 CPU 架构的设置来评估所提出的设计。我们使用知名算法的 Python 实现来评估该实现的性能:Jacobi 求解器、kNN 搜索、浅水模拟和合成模板模拟。所有测试均展示了良好的性能。
引用
@article{arxiv.1210.7774,
title = {cphVB: A System for Automated Runtime Optimization and Parallelization of Vectorized Applications},
author = {Mads Ruben Burgdorff Kristensen and Simon Andreas Frimann Lund and Troels Blum and Brian Vinter},
journal= {arXiv preprint arXiv:1210.7774},
year = {2013}
}