论文标题
Epython:为多核Epiphany协作者实施Python
ePython: An implementation of Python for the many-core Epiphany coprocessor
论文作者
论文摘要
顿悟是一种多核,低功率,低芯片记忆体系结构,可以非常便宜地进入许多平行核心,这对HPC教育和原型制作都是有益的。这些体系结构的力量非常低,也意味着它们在未来的HPC机器中有可能使用它们,但是由于相关的复杂性和支持工具的不成熟,因此对它们进行编程的障碍很高。 在本文中,我们介绍了关于Epython的工作,Epython是epiphany和类似多核协处理器的一部分。由于每个核心的芯片内存有限,我们开发了一个新的Python解释器,而且加上对并行性的额外支持,这意味着新手可以利用Python在Epiphany上很快编写并行代码,并探索使用较小的平行机器的HPC概念。 Python的高水平性质从顿悟开辟了新的可能性,我们从可编程性和性能的角度研究了一项计算密集的高斯 - 苏德尔代码,讨论在Host cpu和Epiphany上运行Python Hybrid,以及在CPU和Epipiphany上的Python Epterers之间的互操作性以及在CPU上完整的杂志之间的互操作性。这项工作的结果是支持在顿悟上开发Python,该python可以应用于其他类似体系结构,该社区已经开始采用和使用,以探索并行性和HPC的概念。
The Epiphany is a many-core, low power, low on-chip memory architecture and one can very cheaply gain access to a number of parallel cores which is beneficial for HPC education and prototyping. The very low power nature of these architectures also means that there is potential for their use in future HPC machines, however there is a high barrier to entry in programming them due to the associated complexities and immaturity of supporting tools. In this paper we present our work on ePython, a subset of Python for the Epiphany and similar many-core co-processors. Due to the limited on-chip memory per core we have developed a new Python interpreter and this, combined with additional support for parallelism, has meant that novices can take advantage of Python to very quickly write parallel codes on the Epiphany and explore concepts of HPC using a smaller scale parallel machine. The high level nature of Python opens up new possibilities on the Epiphany, we examine a computationally intensive Gauss-Seidel code from the programmability and performance perspective, discuss running Python hybrid on both the host CPU and Epiphany, and interoperability between a full Python interpreter on the CPU and ePython on the Epiphany. The result of this work is support for developing Python on the Epiphany, which can be applied to other similar architectures, that the community have already started to adopt and use to explore concepts of parallelism and HPC.