System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及敏捷开发,尤其涉及一种软件定义芯片的敏捷开发方法及系统。
技术介绍
1、本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、当今,人工智能、机器人技术、数字信号处理、生物信息学和航天航空系统的快速发展受到技术缩放减缓的制约,迫切需要具有足够计算能力的超低功耗(ulp)处理器。软件定义芯片(sdc),以粗粒度可重构架构(cgra)为代表,在高能效、制造后的灵活性和低非重复性工程(nre)成本方面具有坚实的竞争优势。sdc架构有望实现类似asic的各种功能,同时仍保持相对于通用处理器的高效率。在上述领域中,ulp传感和边缘设备的普及将进一步放大sdc的竞争优势。
3、在这些领域中,机器学习应用展现了显著的并行性;动态规划和数学优化问题通常涉及大量分支等控制语句;诸如cholesky分解和快速傅里叶变换(fft)等数字信号处理应用则表现出显著的归纳(inductive)数据依赖性。在不同场景下,应用程序会展现出截然不同的计算和内存访问模式。因此不同领域通常需要采用不同的领域专用架构以实现高能效。
4、但是,即使是能够支持广泛计算操作的sdc架构,也无法满足所有领域的多样化需求。sdc的计算阵列、内存接口和互连拓扑结构都是多变的,在为每个应用领域设计领域定制sdc加速器时往往需要领域专业知识,且通过手工设计最理想的硬件结构需要消耗大量的时间和人力,手工设计所有领域是不现实的。因此有研究者提出了设计空间探索(dse)框架,用
5、然而,现有的dse框架在低功耗、高能效方面的设计效果都有提升空间,不论是在架构层面还是软件优化层面。此外,编译器的效率和质量也是限制现有dse框架探索能力的瓶颈。因此,目前缺乏一种超低功耗软件定义芯片的敏捷开发方案,以追求低功耗、高能效的目标,且让sdc能灵活支持各种复杂的计算模式。
技术实现思路
1、本专利技术实施例提供一种软件定义芯片的敏捷开发方法,可实现低功耗、高能效,能灵活支持各种复杂的计算模式,该方法包括:
2、获得预定义的设计空间,所述预定义的设计空间包括预定义的硬件设计空间和预定义的软件设计空间,所述硬件设计空间包括计算单元的设计空间,所有计算单元均使用有序数据流方案和异步数据流发射,所述计算单元包括专用于支持循环变量控制和生成的计算单元和通用计算单元;
3、获得用户输入的目标领域的目标应用程序,以及所述目标应用程序的软件设计需求和硬件设计需求;
4、对所述目标应用程序的软件设计需求和硬件设计需求进行分析,从预定义的设计空间中确定目标应用程序对应的实际设计空间参数;
5、在实际设计空间参数中,进行设计空间探索,获得最优的实际设计空间参数;
6、基于最优的实际设计空间参数,生成目标应用程序的软件代码和硬件代码。
7、本专利技术实施例还提供一种软件定义芯片的敏捷开发系统,可实现低功耗、高能效,能灵活支持各种复杂的计算模式,该系统包括:
8、预定义设计空间,用于获得预定义的设计空间,所述预定义的设计空间包括预定义的硬件设计空间和预定义的软件设计空间,所述硬件设计空间包括计算单元的设计空间,所有计算单元均使用有序数据流方案和异步数据流发射,所述计算单元包括专用于支持循环变量控制和生成的计算单元和通用计算单元;
9、用户输入模块,用于获得用户输入的目标领域的目标应用程序,以及所述目标应用程序的软件设计需求和硬件设计需求;
10、实际设计空间确定模块,用于对所述目标应用程序的软件设计需求和硬件设计需求进行分析,从预定义的设计空间中确定目标应用程序对应的实际设计空间参数;
11、设计空间探索模块,用于在实际设计空间参数中,进行设计空间探索,获得最优的实际设计空间参数;
12、软硬件代码生成模块,用于基于最优的实际设计空间参数,生成目标应用程序的软件代码和硬件代码。
13、本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述软件定义芯片的敏捷开发方法。
14、本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述软件定义芯片的敏捷开发方法。
15、本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述软件定义芯片的敏捷开发方法。
16、本专利技术实施例中,获得预定义的设计空间,所述预定义的设计空间包括预定义的硬件设计空间和预定义的软件设计空间,所述硬件设计空间包括计算单元的设计空间,所有计算单元均使用有序数据流方案和异步数据流发射,所述计算单元包括专用于支持循环变量控制和生成的计算单元和通用计算单元;获得用户输入的目标领域的目标应用程序,以及所述目标应用程序的软件设计需求和硬件设计需求;对所述目标应用程序的软件设计需求和硬件设计需求进行分析,从预定义的设计空间中确定目标应用程序对应的实际设计空间参数;在实际设计空间参数中,进行设计空间探索,获得最优的实际设计空间参数;基于最优的实际设计空间参数,生成目标应用程序的软件代码和硬件代码。上述实施例中,所有计算单元均使用有序数据流方案和异步数据流发射,使得每个计算单元在数据来临时即开始计算,且数据不必依赖和等到全局时钟传输,提高了效率,同时降低能耗;所述计算单元包括专用于支持循环变量控制和生成的计算单元和通用计算单元,这使得可将目标应用程序的更多部分同时映射到软件定义芯片架构上,减少和主机的通信开销;且能通过多个专用于支持循环变量控制和生成的计算单元提高不规则循环的并发性,使得最后得到的目标应用程序的软件代码和硬件代码能灵活支持各种复杂的计算模式。
本文档来自技高网...【技术保护点】
1.一种软件定义芯片的敏捷开发方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,计算单元的设计空间包括精度参数、支持的计算功能参数、是否支持时域扩展映射参数、是否支持SIMD及计算单元内部的功能单元数量参数、是否支持循环变量控制和生成参数,是否支持谓词参数和输入输出大小参数;
3.如权利要求1所述的方法,其特征在于,所述硬件设计空间还包括访存单元的设计空间;
4.如权利要求1所述的方法,其特征在于,所述硬件设计空间还包括片上存储便签式缓存的设计空间;
5.如权利要求1所述的方法,其特征在于,所述硬件设计空间还包括互联单元的设计空间;
6.如权利要求1所述的方法,其特征在于,软件设计空间包括循环的设计空间;
7.如权利要求1所述的方法,其特征在于,对所述目标应用程序的软件设计需求和硬件设计需求进行分析,从预定义的设计空间中确定目标应用程序对应的实际设计空间参数,包括:
8.如权利要求7所述的方法,其特征在于,在实际设计空间参数中,进行设计空间探索,获得最优的实际设计空间参数,包括:<
...【技术特征摘要】
1.一种软件定义芯片的敏捷开发方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,计算单元的设计空间包括精度参数、支持的计算功能参数、是否支持时域扩展映射参数、是否支持simd及计算单元内部的功能单元数量参数、是否支持循环变量控制和生成参数,是否支持谓词参数和输入输出大小参数;
3.如权利要求1所述的方法,其特征在于,所述硬件设计空间还包括访存单元的设计空间;
4.如权利要求1所述的方法,其特征在于,所述硬件设计空间还包括片上存储便签式缓存的设计空间;
5.如权利要求1所述的方法,其特征在于,所述硬件设计空间还包括互联单元的设计空间;
6.如权利要求1所述的方法,其特征在于,软件设计空间包括循环的设计空间;
7.如权利要求1所述的方法,其特征在于,对所述目标应用程序的软件设计需求和硬件设计需求进行分析,从预定义的设计空间中确定目标应用程序对...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。