P81: Offloading Python Kernels to Micro-Core Architectures
SessionPoster Reception
Author
Event Type
ACM Student Research Competition
Poster
Reception

TimeTuesday, November 14th5:15pm - 7pm
LocationFour Seasons Ballroom
DescriptionMicro-core architectures combine many 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 them is challenging. We previously developed ePython, a low memory (24Kb) implementation of Python supporting the rapid development of parallel Python codes and education for these architectures. In this poster we present our work on an offload abstraction to support the use of micro-cores as an accelerator. Programmers decorate specific functions in their Python code, running under any Python interpreter on the host, with our underlying technology then responsible for the low-level data movement, scheduling and execution of kernels on the micro-cores. Aimed at education and fast prototyping, a machine learning code for detecting lung cancer, where computational kernels are offloaded to micro-cores, is used to illustrate the approach.