融合计算方法及可读存储介质技术

技术编号:24454802 阅读:30 留言:0更新日期:2020-06-10 15:14
本申请提供融合计算方法及可读存储介质。所述融合计算方法包括:获取微控制指令序列并分配给启动的多个线程,其中,所述微控制指令序列包括计算任务的计算类型;基于所述计算任务的计算类型,确定融合计算方式;根据所述融合计算方式,调度所述线程执行所述计算任务。

Fusion computing method and readable storage medium

【技术实现步骤摘要】
融合计算方法及可读存储介质
本申请涉及计算
,具体涉及融合计算方法及可读存储介质。
技术介绍
在复杂的长向量计算中,需要尽可能的发挥计算资源的作用,增加处理器的吞吐量。同时希望数据读取灵活,提高计算效率,缩短运算时间,尽可能高效的满足计算需求。现有的单指令多数据流(SIMD)是指处理器对多个数据同时执行单条指令所确定的相同操作。SIMD能够用一个指令同时驱动多个计算单元,并行处理多个数据,能够实现计算单元的并行,缩短运算时间,增加处理器的吞吐量。但它需要将数据拼接成短向量存在于同一个寄存器中,因此读取时采取连续寻址,不够灵活。不能完全满足大规模的向量计算应用。
技术实现思路
为解决上述技术问题,本申请实施例提供一种融合计算方法及计算机可读存储介质。本申请实施例提供一种融合计算方法,包括:获取微控制指令序列并分配给启动的多个线程,其中,所述微控制指令序列包括计算任务的计算类型;基于所述计算任务的计算类型,确定融合计算方式;根据所述融合计算方式,通过动态资源表调度所述线程执行所述计算任务。本申请实施例还提供一种计算机可读存储介质,其上存储有处理器程序,所述处理器程序用于执行如上所述的融合计算方法。本申请实施例提供的技术方案,提供了一种融合计算的技术方案,克服了只采用单指令多数据流(SIMD)、单指令多线程和同步多线程的其中一种计算方式的各方面的缺点,能够根据计算类型确定融合计算方式,同时控制多个计算单元,可以节省大量硬件资源,而且针对计算类型确定融合计算方式,开发了线程并行和计算单元并行的能力,提高了计算效率,并且利用动态资源表对计算资源进行监控和记录,调度线程执行计算任务,能够充分利用计算资源,进一步提高计算效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一实施例提供的一种融合计算方法流程示意图之一。图2是本申请一实施例提供的一种融合计算方法流程示意图之二。图3是本申请一实施例提供的一种融合计算方法流程示意图之三。图4是本申请一实施例提供的一种融合计算装置功能组成框图之一。图5是本申请一实施例提供的一种融合计算装置功能组成框图之二。图6是本申请一实施例提供的一种控制器功能组成框图。图7是本申请一实施例提供的一种计算单元功能组成框图。图8为本申请一实施例提供的电子设备示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,本申请的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”是用于区别不同对象,而不是用于描述特定顺序。本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。本申请实施例提供的技术方案,针对单指令多数据流(SIMD)、单指令多线程和同步多线程的向量计算方式的各方面的缺点,提供了一种融合计算方法及计算机可读存储介质。下面,将参照附图对本申请的实施例进行详细描述。首先,对本申请中用到的一些技术术语进行说明。指令字:是一条包含至少两个独立字段的指令,是将计算量的存储地址信息和所需的操作信息打包而成,其中,该计算量由至少一段信息组成,可以对每一段信息执行不同的操作,也可以执行相同的操作。可选地,指令字是多条普通指令拼接而成。指令字也可以是超长指令字(VLIW),包含多个独立字段,每一个字段可以独立控制一个计算单元,相当于一条指令。其中,指令字中包括标量指令和/或向量指令。一个指令字可以同时控制多个计算单元,节省大量硬件资源。短向量或标量:计算单元能接受的向量包括短向量或标量,长度由计算单元的硬件决定。长向量:是与短向量相对的说法,为多个短向量的合并。超长向量,也是一个相对的概念,比长向量更长或者是多个长向量的合并,超长向量的计算更需要融合计算方式的强计算能力和高效率。线程,是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。其中,一个进程可以有很多线程,每条线程串行或并行执行不同的任务。线程是独立调度和分派的基本单位。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(callstack),自己的寄存器环境(registercontext),自己的线程本地存储(thread-localstorage)。单指令多数据流(SIMD),是指处理器执行单条指令,单条指令对多个数据确定相同的操作。一条SIMD指令能同时驱动多个计算单元,但是每个计算单元由硬件结构决定只能进行短向量运算或标量计算。当需要进行两个长向量的加法运算时,在单指令多数据流(SIMD)的情景下,将长向量拆成若干个短向量,驱动若干个向量加法计算单元,并行地执行这些短向量的加法运算。随后,将短向量的加法结果合并,即得到长向量的加法运算结果。在单指令多数据流(SIMD)中任意时刻指令流都是单一的。单指令多数据流(SIMD)能够用一个指令并行处理多个数据,同时驱动多个计算单元,实现了计算单元的并行,缩短了运算时间,增加处理器的吞吐量。但它需要将数据拼接成短向量存在于同一个寄存器中,因此读取时采取连续寻址,不够灵活。单指令多线程,是指多个线程运行同一条单指令。每个线程只能用一个计算单元,但不同线程可以有不同的数据。每个计算单元由硬件结构决定只能进行短向量运算或标量计算。单指令多线程也是将长向量拆成短向量,分配在不同的线程进行计算,通过多个线程的并行来执行长向量的相同类型的运算。单指令多线程实现了多个线程的并行来执行单条指令,可以使线程拥有独立的寄存器,支持独立寻址,更为灵活。同步多线程,是指处理器在同一个时钟周期内可以执行多个不同类型线程的指令,计算效率高。每个线程用到一个计算单元,每个计算单元由硬件结构决定只能进行短向量运算或标量计算。通过多个线程的并行来执行长向量的不同类型的运算。同步多线程可以支持不同指令的多线程运行,当一个线程被阻塞时,可以通过上下文切换来运行另一个线程的指令,因此存在频繁而复杂的线程切换,影响计算效率。图1是本申请一实施例提供的一种融合计算方法流程示意图之一,示出了融合计算方法的控制流程。参见图1,在S110中,控制器本文档来自技高网...

【技术保护点】
1.一种融合计算方法,其特征在于,包括:/n获取微控制指令序列并分配给启动的多个线程,其中,所述微控制指令序列包括计算任务的计算类型;/n基于所述计算任务的计算类型,确定融合计算方式;/n根据所述融合计算方式,通过动态资源表调度所述线程执行所述计算任务。/n

【技术特征摘要】
1.一种融合计算方法,其特征在于,包括:
获取微控制指令序列并分配给启动的多个线程,其中,所述微控制指令序列包括计算任务的计算类型;
基于所述计算任务的计算类型,确定融合计算方式;
根据所述融合计算方式,通过动态资源表调度所述线程执行所述计算任务。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据计算群中空闲计算单元的数量和功能,将所述启动的多个线程打包成线程组,通过动态资源表调动所述线程组至所述空闲计算单元中执行所述计算任务,
其中,所述线程组包括至少一个线程。


3.根据权利要求2所述的方法,其特征在于,不同计算类型的线程处于不同线程组。


4.根据权利要求1至3之任一项所述的方法,其特征在于,所述基于所述计算任务的计算类型,确定融合计算方式,包括:
当所述计算类型相同时,则确定单指令多线程和单指令多数据流融合的计算方式;
当所述计算类型不同时,则确定同步多线程和单指令多数据流融合的计算方式。


5.根据权利要求4所述的方法,其特征在于,每条所述线程执行一条单指令多数据指令。


6.根据权利要求2所述的方法,其特征在于,所述通过动态资源表调动所述线程组至所述空闲计算单元中执行所述计算任务,包括:
当所述线程组因为访问存储单元而阻塞时,使阻塞的线程组进入等待队列;
在所述存储单元中的所述阻塞的线程组的输入数据准备好后,使所述阻塞的线程组进入准备队列;
通过所述动态资源表,确定空闲计算单元;
调度所述准备队列中的线程组至所述空闲计算单元去执行所述计算任务。


7.根据权利要求6所述的方法,其特征在于,调...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1