当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
ePython: An implementation of Python for the many-core Epiphany coprocessor
arXiv - CS - Programming Languages Pub Date : 2020-10-28 , DOI: arxiv-2010.14827
Nick Brown

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.

中文翻译:

ePython:多核 Epiphany 协处理器的 Python 实现

Epiphany 是一种多核、低功耗、低片上内存架构,可以非常便宜地访问多个并行内核,这对 HPC 教育和原型设计非常有益。这些架构的极低功耗特性也意味着它们有可能在未来的 HPC 机器中使用,但是由于相关的复杂性和支持工具的不成熟,对它们进行编程存在很高的门槛。在本文中,我们介绍了我们在 ePython 上的工作,ePython 是用于 Epiphany 和类似众核协处理器的 Python 子集。由于每个内核的片上内存有限,我们开发了一个新的 Python 解释器,并结合对并行性的额外支持,这意味着新手可以利用 Python 在 Epiphany 上非常快速地编写并行代码,并使用较小规模的并行机探索 HPC 的概念。Python 的高级特性为 Epiphany 开辟了新的可能性,我们从可编程性和性能的角度检查了计算密集型 Gauss-Seidel 代码,讨论了在主机 CPU 和 Epiphany 上运行 Python 混合,以及完整 Python 解释器之间的互操作性Epiphany 上的 CPU 和 ePython。这项工作的结果是支持在 Epiphany 上开发 Python,它可以应用于其他类似的架构,社区已经开始采用和使用这些架构来探索并行和 HPC 的概念。我们从可编程性和性能的角度检查计算密集型 Gauss-Seidel 代码,讨论在主机 CPU 和 Epiphany 上运行 Python 混合,以及 CPU 上的完整 Python 解释器和 Epiphany 上的 ePython 之间的互操作性。这项工作的结果是支持在 Epiphany 上开发 Python,它可以应用于其他类似的架构,社区已经开始采用和使用这些架构来探索并行和 HPC 的概念。我们从可编程性和性能的角度检查计算密集型 Gauss-Seidel 代码,讨论在主机 CPU 和 Epiphany 上运行 Python 混合,以及 CPU 上的完整 Python 解释器和 Epiphany 上的 ePython 之间的互操作性。这项工作的结果是支持在 Epiphany 上开发 Python,它可以应用于其他类似的架构,社区已经开始采用和使用这些架构来探索并行和 HPC 的概念。
更新日期:2020-10-29
down
wechat
bug