Abstract / Description of output
Micro-core architectures combine many simple, low memory, low power computing cores together in a single package. These can be used as a co-processor or standalone but due to limited on-chip memory and esoteric nature of the hardware, writing efficient parallel codes for these chips is challenging. In this paper we discuss our very low memory implementation of Python, ePython, supporting the rapid development of parallel Python codes for these co-processors. An offload abstraction is introduced, where programmers decorate specific functions in their Python code, running under any Python interpreter on the host CPU, with the underlying technology then taking care of the low level data movement, scheduling and ePython execution on the micro-core co-processor. A benchmark solving Laplace's equation for diffusion via Jacobi iteration is used to explore the performance of ePython on three different micro-core architectures, and introduces work around native compilation for micro-cores and the performance advantages that this can provide.
Original language | English |
---|---|
Title of host publication | Proceedings of the 19th Python in Science Conference |
Subtitle of host publication | SciPy 2020 |
Editors | Meghann Agarwal, Chris Calloway, Dillon Niederhut, David Shupe |
Place of Publication | Austin, Texas |
Pages | 97 - 105 |
Number of pages | 9 |
DOIs | |
Publication status | Published - 10 Jul 2020 |
Event | Scientific Computing with Python 2020 - Virtual conference Duration: 6 Jul 2020 → 12 Jul 2020 https://www.scipy2020.scipy.org/ |
Publication series
Name | Proceedings of the Python in Science Conferences |
---|---|
Volume | 2020 |
ISSN (Electronic) | 2575-9752 |
Conference
Conference | Scientific Computing with Python 2020 |
---|---|
Abbreviated title | SciPy 2020 |
City | Virtual conference |
Period | 6/07/20 → 12/07/20 |
Internet address |
Keywords / Materials (for Non-textual outputs)
- ePython
- micro-cores
- RISC-V
- MicroBlaze
- PicoRV32
- Epiphany