用于GAP8 MPSoC的OpenMP转换器
An OpenMP translator for the GAP8 MPSoC
摘要:
采用并行计算的障碍之一是其编程的固有复杂性。开放式多处理(OpenMP)应用编程接口(API)促进了这样的实现,提供了高抽象级别的指令。在另一方面,已经开发了旨在低能耗的新架构,例如Greenwaves Technologies GAP 8,一种基于并行超低功耗(PULP)平台的多处理器片上系统(MPSoC)。GAP 8具有8核群集和结构控制器(FC)主核。使用GAP 8进行并行编程在效率方面非常有前途,但其最近的发展以及缺乏强大的操作系统来处理线程和核心调度,使OpenMP API的简单实现变得复杂。该项目实现了一个源代码到源代码的翻译,解释了一组有限的OpenMP指令,并能够生成并行微控制器代码直接操纵核心。在这项工作中获得的初步结果表明,减少的代码大小,如果与基本实现相比,证明该项目的效率,以减轻编程的GAP 8。为了实现更多的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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。