[发明专利]用于加速器的程序生成方法和系统有效
申请号: | 201680001502.3 | 申请日: | 2016-11-09 |
公开(公告)号: | CN107250982B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 汪涛;宋风龙;姚骏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/448 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 加速器 程序 生成 方法 系统 | ||
一种用于加速器的程序生成方法,以有助于提高加速器的利用率,同时提升程序开发的效率。在本发明一些可行的实施方式中,方法包括:获取基于状态机的加速器程序描述,所述加速器程序描述包括分别用于实现应用程序的多个状态机,且所述多个状态机根据所述应用程序对应的有向无环图DAG中的数据依赖关系形成一条流水线;利用加速器编译工具对所述加速器程序描述中的状态机进行状态机拼接,生成加速器程序。
技术领域
本发明涉及计算机技术领域,具体涉及一种用于加速器的程序生成方法和系统。
背景技术
随着移动互联网、云计算、物联网的飞速发展,工程应用和科学计算领域的数据量和计算复杂度不断增加,通用中央处理器(英文全称:Central Processing Unit,英文简称:CPU)的计算能力已经难以满足领域计算需求。为了满足领域算法的计算需求,各种加速器应运而生,并在许多计算领域得到了广泛的应用。加速器是用于执行特定功能的专用硬件设备,它是通用计算系统的一部分,不能脱离通用处理器而存在。加速器直接面向应用算法,采用专用处理器架构,能很好地权衡处理器性能、面积和功耗之间的关系,可以视为一种特殊的处理器。与传统的通用处理器相比,加速器具有许多无法比拟的优点,例如,在计算性能和存储带宽方面,加速器都远远高于通用处理器。
“通用处理器+专用加速器”异构融合是应用驱动处理器体系结构的发展方向。一方面,通用处理器可处理标量计算并提供通用计算能力,使得该异构系统能够适用于多种应用领域;另一方面,专用加速器能够为某些特定领域应用提供强大的计算性能,使得该异构系统具有很好的性能和较低的能耗。
然而,在面向不同的领域应用中,不管是通用处理器还是专用加速器,处理器的实际性能都远低于峰值性能,一般在50%以下。在硬件方面,处理器或加速器的计算、存储性能越来越强;在软件方面,如何高效利用处理器或加速器的计算能力,同时减轻程序员的编程负担,已成为程序开发过程中面临的关键问题。
编程模型主要聚焦上述问题,编程模型是对计算机硬件系统结构的抽象,在计算机硬件系统结构和应用程序编程接口之间建立起联系,使得应用程序在计算机硬件系统上的执行成为可能。编程模型专注于提高程序性能、开发效率、对其他系统设计的可扩展性。一种编程模型硬件抽象程度越高,程序员编程负担越小,同时编译复杂度越高。为此编程模型直接影响处理器的硬件利用率。
对于专用加速器,以高性能为其主要目标,其体系结构一般与领域算法紧耦合,指令集非常复杂。这主要带来两方面的影响:一方面,专用加速器中的复杂特殊指令无法通过基本的算术指令进行逻辑组合,使得无法通过编译技术和高级语言直接进行映射;另一方面,由于面向不同应用算法的加速器体系结构差别很大,需要针对不同的处理器指令集结构修改编译器,工程浩大。这使得在专用加速器上进行程序开发一般通过手工优化,效率非常低下。
发明内容
本发明实施例提供一种用于加速器的程序生成方法和系统,以有助于提高加速器的利用率,同时提升程序开发的效率。
本发明第一方面提供一种用于加速器的程序生成方法,包括:获取基于状态机的加速器程序描述,所述加速器程序描述包括分别用于实现应用程序的多个状态机,且所述多个状态机根据所述应用程序对应的有向无环图DAG中的数据依赖关系形成一条流水线;利用加速器编译工具对所述加速器程序描述中的状态机进行状态机拼接,生成加速器程序。
该技术方案中,获取基于状态机的加速器程序描述,利用加速器编译工具对加速器程序描述中的状态机进行状态机拼接生成加速器程序,可实现指令级并行性,有助于提高加速器的硬件性能的利用率。该技术方案中,只需要编译工具对程序描述进行编译,不需要编译工具在高级语言和加速器指令集之间进行映射,使得在加速器上进行程序开发具有较好的性能。与针对特定算法,需要汇编程序员手工开发与优化的加速器程序相比,采用该技术方案可以在保证流水线利用率的前提下,提高程序的开发效率。与采用编译技术进行程序开发相比,采用该技术方案可以在一些领域专用加速器上获得更好的程序性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680001502.3/2.html,转载请声明来源钻瓜专利网。