[发明专利]一种基于SIMT编程模型的张量化并行计算方法在审
申请号: | 202010534263.6 | 申请日: | 2020-06-11 |
公开(公告)号: | CN111831429A | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 江子山;梁晓峣;景乃锋;官惠泽;王雅洁;张选;宋卓然;江昭明 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F17/16 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 周涌贺 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 simt 编程 模型 量化 并行 计算方法 | ||
本发明提供一种基于SIMT编程模型的张量化并行计算方法,基于主机端、转换单元和设备端之间的交互,将设备端的数据处理单元由标量转换为张量元,实现对数据的张量化运算处理,拓展了SIMT编程模型所适用的异构平台的范围,提高了编程模型的通用性,灵活性和便捷性;以及在执行任务指令时,对检测到的为对张量元运算处理的任务指令,通过调用预先封装的小核函数进行运算处理,既提高了底层计算的效率,又方便了计算调度的实现。
技术领域
本发明涉及并行计算领域,尤其是涉及一种基于SIMT模型的张量化并行计算编程方法。
背景技术
并行计算在广义上一般是指同时使用多个计算资源来解决一个计算任务,而这种计算资源可以是同一个处理器的多个核心,也可以是同一台计算机中的多个处理器,抑或是任意数量的被连接在一起的计算机。随着计算架构的发展以及异构计算的出现,现如今的并行计算所使用的计算资源往往不再是具有相同的计算架构,而是由多种计算架构共同构建而成的异构计算平台。尤其是近些年来,人工智能的兴起以及AI芯片的诞生,计算架构不断演进以及计算任务计算量的不断增长,异构并行计算平台也越来越受到工业界和学术界的关注。目前典型的异构计算平台主要包括CPU+GPU、CPU+FPGA以及CPU+ASIC,其中CPU是传统的具有一定计算能力以及超强逻辑控制能力的计算资源,负责计算任务中的逻辑控制以及应用管理,GPU/FPGA/ASIC则是较为专用的具有超强计算能力和有限逻辑控制能力的计算资源,在CPU的调度下专门完成计算密集的计算任务。异构计算平台打破了传统的多核心或者多处理器的并行计算方式,使得不同计算架构的计算资源完成其各自擅长的任务,从而提供更高的通用性、灵活度以及可扩展性。
然而,由于不同计算资源具有不同的计算架构,使得相互之间的通信与控制变得更加复杂,这也增加了并行计算应用的开发难度。例如,SIMT作为目前被广泛使用的,适配于GPGPU(General-purpose computing on graphics processing unit,通用图形处理器)的异构并行计算编程模型,具有线程的概念,但由于受GPGPU中基本计算单元为标量的缘故,在编写神经网络中常见的张量间的计算任务时会变得相对复杂,并且SIMT编程模型只适用于GPGPU设备,不能适配FPGA、ASIC等异构计算加速设备,导致无法根据不同计算任务的计算特点选择不同的专用加速架,使得通用性十分有限。此外,由于SIMT编程模型遵从过程式编程,因此在实现复杂计算任务时,编程较为麻烦,往往需要进行多次重复性的工作。
因此,如何基于异构计算平台,实现SIMT编程模型的更加灵活和便捷地开发应用,已经成为了一个日益突出的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于SIMT模型的张量化并行计算编程方法,用于解决现有技术中SIMT编程模型受专用设备平台的限制性较强,无法实现根据不同计算任务的计算特点支持不同的专用加速架,通用性有限等问题。
为实现上述目的及其他相关目的,本发明提供一种基于SIMT模型的张量化并行计算编程方法,基于主机端、转换单元和设备端之间的交互实现对数据的张量化运算处理;所述方法包括:所述主机端获取任务信息和设备端信息,所述任务信息包括任务指令、第一数据信息和预设结果信息,所述设备端信息包括张量元信息;所述主机端根据所述第一数据信息获取第一数据;根据所述预设结果信息配置主机端存储空间,并获取与所述主机端存储空间对应的主机端存储地址信息;所述主机端发送第一转换指令和第一转换信息至所述转换单元,使所述转换单元根据所述第一转换信息,将以标量为数据单元的所述第一数据转换为以张量元为数据单元的第二数据,并存储至所述设备端中;所述主机端发送所述任务指令至所述设备端,使所述设备端以张量元为计算单元运算处理所述第二数据以获得第一结果,并返回第一结果信息至所述主机端中;所述主机端接收所述第一结果信息后,发送第二转换指令和第二转换信息至所述转换单元,使所述转换单元将所述第一结果转换为以标量为数据单元的第二结果,并将所述第二结果存储至所述主机端存储空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010534263.6/2.html,转载请声明来源钻瓜专利网。