[发明专利]一种C/C++与COStream混合编程方法和可视化编译系统有效
申请号: | 201710491698.5 | 申请日: | 2017-06-26 |
公开(公告)号: | CN107341010B | 公开(公告)日: | 2019-12-13 |
发明(设计)人: | 于俊清;董慧;何云峰;唐九飞 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/41 |
代理公司: | 42201 华中科技大学专利中心 | 代理人: | 廖盈春;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 c++ costream 混合 编程 方法 可视化 编译 系统 | ||
本发明公开了一种C/C++与COStream混合编程方法和可视化编译系统,属于计算机编译技术领域。本发明技术方案包括:混合编译前端模式选择;混合编译后端C/C++程序与COStream程序通信交互接口设计;混合编译后端多线程处理接口设计;混合编译后端目标代码的生成。本发明还实现了一种可视化编译系统。本发明技术方案将C/C++与COStream编程结合起来,充分发挥了数据流编程语言COStream在面向多核并行体系结构中的优势,充分发挥了多核处理器的高并行性,而且弥补了C/C++在编写多线程程序复杂性高的问题。
技术领域
本发明属于计算机编译技术领域,更具体地,涉及一种C/C++与COStream混合编程方法和可视化编译系统。
背景技术
多核CPU相较于单核CPU而言具有更强的并行性、更高的计算密度、更低的时钟频率和功耗。虽然多核处理器被越来越广泛的使用,但它在很多方面还是存在不足,主要表现在以下两个方面。其一,虽然多核处理器通过其多核的并行性处理提高了程序的计算能力,但是底层的多核资源并没有被充分的利用,其并行处理的能力还有提升的空间。而且传统的编程语言如C、Fortran不能适用于通用的多核平台。其二,像C++、java等编程语言虽然可以通过创建多线程的方式来利用处理核的并行计算能力,而多线程的执行模型相比于单线程的执行模型而言,能缩短处理核的等待时间,但是它们依然是运行在单核上,底层的多核资源并没能全部被调用。此外,多线程程序的编写对编程人员的软件开发能力要求更高,尤其是需要编程人员自己设计线程间的同步与通信等,这无疑使软件开发的难度大大增加,并不适合所有的编程人员。
针对上述多核资源不能被充分利用的问题,数据流(dataflow)编程模型作为一种新的编程模型被提出。数据流编程模型在计算密集型应用和多核体系结构中将底层的架构资源发挥到极致。数据流编程模型将底层的硬件结构封装起来,用户只需要关注程序自身中存在的并行性,然后按照数据流编程模型进行程序设计而不必考虑底层的多核结构。数据流编译器会将用户编写的数据流程序自动的分配到各个核上去执行,编译器会根据底层的多核架构自动的生成高效的可执行代码,极大的降低了并行计算程序开发的难度,减轻了编程人员编程负担。当前主要的流编程语言有StreamIt,CUDA,COStream,StreamC/KernelC和Flextream等,但是它们的推广度和普及度不及传统的C/C++编程语言。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种C/C++与COStream混合编程方法和可视化编译系统,其目的在于将C/C++与COStream混合编程,将适用于数据流并行计算的部分采用COStream实现,其余部分保持原来的C/C++程序实现,这样将能提高程序运行的效率,同时减轻编程人员的负担。
为实现上述目的,按照本发明的一个方面,提供了一种C/C++与COStream混合编程方法和可视化编译系统,该方法包括:
对COStream编译器前端进行扩展,设计COStream单模式和C/C++与COStream混合模式的模式选择接口;
对COStream编译器后端进行扩展,设计C/C++程序与COStream程序数据通信的接口,设计混合模式后端多线程的处理方法;对COStream源程序进行词法分析、语法分析、语义动作分析和任务调度划分后生成目标代码;
所述混合模式后端多线程的处理具体方法为:
(1)获取分配在各个核上的所有actor集合,遍历集合,获取各个actor的边信息,并根据边信息构造actor对象;为每个运行核上所有的actor生成一个线程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710491698.5/2.html,转载请声明来源钻瓜专利网。