论文标题
GAP8 MPSOC的OpenMP翻译器
An OpenMP translator for the GAP8 MPSoC
论文作者
论文摘要
采用并行计算的障碍之一是其编程的固有复杂性。开放的多处理(OpenMP)应用程序编程接口(API)促进了此类实现,提供了高抽象级指令。在另一个方面,已经开发了针对低能消耗的新体系结构,例如Greenwaves Technologies GAP8,这是基于平行超低功率(PULP)平台的多处理器系统芯片系统(MPSOC)。 GAP8具有8核群集和一个织物控制器(FC)Master Core。与GAP8进行的并行编程在效率方面非常有前途,但是它最近的开发以及缺乏强大的操作系统来处理线程和核心调度,这使OpenMP API的简单实现变得复杂。该项目实现了源转换器的源,该源可以解释有限的OpenMP指令,并能够生成并行的微控制器代码直接操纵内核。在这项工作中获得的初步结果表明,如果与基本实施相比,代码尺寸的减少,证明了项目的效率以简化GAP8的编程。为了实施更多的OpenMP指令,需要进一步的工作。
One of the barriers to the adoption of parallel computing is the inherent complexity of its programming. The Open Multi-Processing (OpenMP) Application Programming Interface (API) facilitates such implementations, providing high abstraction level directives. On another front, new architectures aimed at low energy consumption have been developed, such as the Greenwaves Technologies GAP8, a Multi-Processor System-on-Chip (MPSoC) based on the Parallel Ultra Low Power (PULP) Platform. The GAP8 has an 8-core cluster and a Fabric Controller(FC) master core. Parallel programming with GAP8 is very promising on the efficiency side, but its recent development and lack of a robust OS to handle threads and core scheduling complicate a simple implementation of the OpenMP APIs. This project implements a source to source translator that interprets a limited set of OpenMP directives, and is capable of generating parallel microcontroller code manipulating the cores directly. The preliminary results obtained in this work shows a reduction of the code size, if compared with the base implementation, proving the efficiency of the project to ease the programming of the GAP8. Further work is need in order to implement more OpenMP directives.