CN111930506A - 一种矩阵调度方法及相关装置 - Google Patents
一种矩阵调度方法及相关装置 Download PDFInfo
- Publication number
- CN111930506A CN111930506A CN202010813929.1A CN202010813929A CN111930506A CN 111930506 A CN111930506 A CN 111930506A CN 202010813929 A CN202010813929 A CN 202010813929A CN 111930506 A CN111930506 A CN 111930506A
- Authority
- CN
- China
- Prior art keywords
- matrix
- cache
- sending
- arithmetic device
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 455
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013507 mapping Methods 0.000 claims description 31
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种矩阵调度方法,包括:将多个预设的矩阵保存至缓存中;其中,缓存为与运算装置连接的存储介质;当接收到运算装置的矩阵获取命令时,根据矩阵获取命令判断缓存中是否存在对应的矩阵;若是,则向运算装置发送矩阵;若否,则执行矩阵类型对应的矩阵获取操作得到矩阵,并向运算装置发送矩阵。通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。本申请还公开了一种矩阵调度装置、计算设备以及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种矩阵调度方法、矩阵调度装置、计算设备以及计算机可读存储介质。
背景技术
目前传统调度纠删编码矩阵的方法是根据当前需要计算的矩阵,软件通过DMA(Direct Memory Access,直接存储访问)实时调度内存的矩阵传给硬件进行纠删编解码计算。但是这种方法存在几个较大的弊端:一,每次RS(Reed-Solomon,里德-所罗门码)纠删编解码计算软件均需通过DMA从缓存调度矩阵至硬件,那么数据传输的时效性会不会太高。二,随着RS纠删编解码计算的频率增加会导致软件频繁占用DMA,导致DMA无法释放供给其他数据调度使用,造成某些功能或是进程被阻塞。三,DMA优势在于对大数据的整体迁移,但每次RS纠删编解码计算矩阵调度时单个矩阵的数据量较小,那么势必会造成DMA的利用率较低。
也就是说,相关技术中纠删码的运算装置需要进行矩阵运算时,是通过DMA获取到矩阵,但是获取的频次较高,获取的次数较多,会随时占用对应的DMA资源,导致系统利用率下降。
因此,如何提高纠删码进行相应计算中的资源利用率是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种矩阵调度方法、矩阵调度装置、计算设备以及计算机可读存储介质,通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。
为解决上述技术问题,本申请提供一种矩阵调度方法,包括:
将多个预设的矩阵保存至缓存中;其中,所述缓存为与运算装置连接的存储介质;
当接收到所述运算装置的矩阵获取命令时,根据所述矩阵获取命令判断所述缓存中是否存在对应的矩阵;
若是,则向所述运算装置发送所述矩阵;
若否,则执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵。
可选的,所述矩阵包括编码矩阵;相应的,当所述缓存中存在所述对应的矩阵时,向所述运算装置发送所述矩阵,包括:
当所述缓存中存在对应的所述编码矩阵时,向所述运算装置发送所述编码矩阵,以便所述运算装置根据所述编码矩阵进行矩阵运算。
可选的,当所述缓存中不存在所述对应的矩阵时,执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵,包括:
当所述缓存中不存在对应的所述编码矩阵时,接收所述存储设备发送的所述编码矩阵;
通过页面置换算法将所述编码矩阵存入所述缓存,并更新对应的存储映射表;
向所述运算装置发送所述编码矩阵,以便所述运算装置根据所述编码矩阵进行矩阵运算。
可选的,所述矩阵包括解码矩阵;相应的,当所述缓存中存在所述对应的矩阵时,向所述运算装置发送所述矩阵,包括:
当所述缓存中存在对应的所述解码矩阵时,根据页面置换算法将所述缓存中的解码矩阵和对应的存储映射表进行更新;
向所述运算装置发送所述解码矩阵。
可选的,当所述缓存中不存在所述对应的矩阵时,执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵,包括:
当所述缓存中不存在对应的所述解码矩阵时,判断所述缓存中是否存在所述解码矩阵对应的编码矩阵;
若是,则对所述编码矩阵进行逆运算得到所述解码矩阵;根据页面置换算法将所述解码矩阵存入所述缓存,并更新对应的存储映射表;向所述运算装置发送所述矩阵;
若否,则接收所述存储设备发送的所述解码矩阵;通过页面置换算法将所述解码矩阵存入所述缓存,并更新对应的存储映射表;向所述运算装置发送所述编码矩阵。
可选的,当所述缓存中存在所述对应的矩阵时,向所述运算装置发送所述矩阵,包括:
当所述缓存中存在所述对应的矩阵时,通过记录的存储映射表确定存储位置;
根据所述存储位置获取所述矩阵,并向所述运算装置发送所述矩阵。
本申请还提供一种矩阵调度装置,包括:
矩阵初始化模块,用于将多个预设的矩阵保存至缓存中;其中,所述缓存为与运算装置连接的存储介质;
矩阵查询模块,用于当接收到所述运算装置的矩阵获取命令时,根据所述矩阵获取命令判断所述缓存中是否存在对应的矩阵;
矩阵发送模块,用于当所述缓存中存在对应的矩阵,向所述运算装置发送所述矩阵;
矩阵获取模块,用于当所述缓存中不存在对应的矩阵,执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵。
可选的,所述矩阵发送模块,包括:
位置确定单元,用于当所述缓存中存在所述对应的矩阵时,通过记录的存储映射表确定存储位置;
矩阵获取发送单元,用于根据所述存储位置获取所述矩阵,并向所述运算装置发送所述矩阵。
本申请还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的矩阵调度方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的矩阵调度方法的步骤。
本申请所提供的一种矩阵调度方法,包括:将多个预设的矩阵保存至缓存中;其中,所述缓存为与运算装置连接的存储介质;当接收到所述运算装置的矩阵获取命令时,根据所述矩阵获取命令判断所述缓存中是否存在对应的矩阵;若是,则向所述运算装置发送所述矩阵;若否,则执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵。
先将多个预设的矩阵保存至缓存中,通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。
本申请还提供一种矩阵调度装置、计算设备以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种矩阵调度方法的流程图;
图2为本申请实施例所提供的一种矩阵调度方法的缓存示意图;
图3为本申请实施例所提供的一种矩阵调度装置的结构示意图。
具体实施方式
本申请的核心是提供一种矩阵调度方法、矩阵调度装置、计算设备以及计算机可读存储介质,通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
也就是说,相关技术中纠删码的运算装置需要进行矩阵运算时,是通过DMA获取到矩阵,但是获取的频次较高,获取的次数较多,会随时占用对应的DMA资源,导致系统利用率下降。
因此,本申请提供一种矩阵调度方法,先将多个预设的矩阵保存至缓存中,通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。
以下通过一个实施例,对本申请提供的一种矩阵调度方法进行说明。
请参考图1,图1为本申请实施例所提供的一种矩阵调度方法的流程图。
本实施例中,该方法可以包括:
S101,将多个预设的矩阵保存至缓存中;其中,缓存为与运算装置连接的存储介质;
本步骤旨在将多个预设的矩阵保存至缓存中。也就是对缓存进行初始化处理,以便其中预先存储到多个可能被使用的矩阵。
其中,多个预设的矩阵指的是可能会经常使用到的矩阵数据,或者在本次预算过程中需要采用到的矩阵数据。
其中,缓存指的是与该运算装置直接连接的存储设备或存储介质。该缓存可以采用现有技术提供的任意一种存储设备或存储介质,也可以对该运算装置上提前设置对应的片上寄存器,以便将该片上寄存器作为该缓存。
其中,该缓存为与运算装置连接的存储介质。具体的,该缓存直接与该运算装置之间进行连接,也就是该缓存与该运算装置直接不存在其他装置。进一步的,该缓存与该运算装置之间由于是直接连接,那么该缓存向该运算装置之间进行数据传输时,可以采用极大的效率和极大的速度进行数据传输,极大的提高了数据传输的效率。并且,该数据传输的过程并不占用其他数据传输通道,因此不会对正常的系统操作造成影响。
S102,当接收到运算装置的矩阵获取命令时,根据矩阵获取命令判断缓存中是否存在对应的矩阵;若是,则执行S103;若否,则执行S104;
在S101的基础上,本步骤旨在当接收到运算装置发送的矩阵获取命令时,然后根据该矩阵获取命令判断缓存中是否存在对应的矩阵。
现有技术中,该运算装置的矩阵获取命令是直接发送至存储装置,以便该存储装置接收到矩阵获取命令后向该运算装置通过DMA(Direct Memory Access,直接存储访问)直接发送对应的矩阵。但是,通过DMA不仅传输效率不高,还会占用正常的系统数据传输的资源。因此,本实施例中将该矩阵获取命令发送至缓存,以便直接通过该缓存获取到对应的矩阵。而不是通过系统的资源进行获取。
S103,向运算装置发送矩阵;
在S102的基础上,本步骤旨在当判定该缓存中存在对应的矩阵时,向该运算装置发送该矩阵。也就是,直接从该缓存中向该运算装置发送该矩阵,可见直接从缓存进行发送,提高了发送的效率,并且拥有极高的传输速度。
可选的,本步骤可以包括:
步骤1,当缓存中存在对应的矩阵时,通过记录的存储映射表确定存储位置;
步骤2,根据存储位置获取矩阵,并向运算装置发送矩阵。
可见,本可选方案主要是对如何从缓存中获取到矩阵进行说明。具体的,本可选方案中,当缓存中存在对应的矩阵时,首先通过记录的存储映射表确定存储位置;其中,通过存储映射表确定位置主要是为了避免在缓存中频繁操作矩阵的位置,从而给出了存储映射表,在记录矩阵的使用时间的同时存储对应的存储位置。最后,根据存储位置获取矩阵,并向运算装置发送矩阵。
S104,执行矩阵类型对应的矩阵获取操作得到矩阵,并向运算装置发送矩阵。
在S102的基础上,本步骤旨在当判定该缓存中不存在对应的矩阵时,执行矩阵类型对应的矩阵获取操作得到矩阵,并向运算装置发送矩阵。
主要是由于该缓存中不存在对应的矩阵,那么就直接从不同的渠道获取该矩阵。当矩阵类型为编码矩阵时那么就从系统中获取到该矩阵,也就是从存储设备或者存储装置中获取到该矩阵,存储至本地的缓存并发送至该运算装置中。需要注意的是,本步骤中还需要包括将该矩阵在缓存中设定对应的存储映射表。当矩阵类型为解码矩阵时,那么就可以通过编码矩阵进行逆计算得到对应的解码矩阵或直接获取解码矩阵。
综上,本实施例先将多个预设的矩阵保存至缓存中,通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。
以下通过一个实施例,对本申请提供的一种矩阵调度方法进行说明。
本实施例中,该矩阵包括编码矩阵,该方法可以包括:
S201,将多个预设的矩阵保存至缓存中;其中,缓存为与运算装置连接的存储介质;
S202,当接收到运算装置的矩阵获取命令时,根据矩阵获取命令判断缓存中是否存在对应的编码矩阵;若是,则执行S203;若否,则执行S204;
S203,向运算装置发送编码矩阵,以便运算装置根据编码矩阵进行矩阵运算;
S204,接收存储设备发送的编码矩阵;通过页面置换算法将编码矩阵存入缓存,并更新对应的存储映射表;向运算装置发送编码矩阵,以便运算装置根据编码矩阵进行矩阵运算。
可见,本实施例中主要是当矩阵包括编码矩阵时,如何从缓存中获取到对应的编码矩阵进行说明。具体的,当该缓存中存在该编码矩阵时,直接向运算装置发送编码矩阵,以便运算装置根据编码矩阵进行矩阵运算。当该缓存中不存在该编码矩阵时,接收存储设备发送的编码矩阵;通过页面置换算法将编码矩阵存入缓存,并更新对应的存储映射表;向运算装置发送编码矩阵,以便运算装置根据编码矩阵进行矩阵运算。也就是,当不存在对应的编码矩阵时,直接从存储设备中获取编码矩阵,然后按照页面置换算法将该编码征存入缓存中,并且更新对应的存储映射表,将该编码矩阵的信息写入该存储映射表。
其中,采用的页面置换算法可以是LRU(Least Recently Used,最近最少使用)算法,该算法的思路是发生缺页中断时,选择未使用时间最长的页面置换出去,以便在矩阵调度期间保留最新被使用的矩阵,提高矩阵在调用过程中的命中率。
以下通过各个模块之间进行操作的角度,对本申请实施例中进行举例说明。
步骤1,通过外部矩阵管理模块调度多个编码矩阵,初始化编码矩阵调度模块中的矩阵缓存。
步骤2,查询编码矩阵调度模块是否存在所需编码矩阵。若查询命中则至步骤3,否则至步骤4。
步骤3,将查询命中的编码矩阵送入矩阵选择模块后参与编码计算。
步骤4,经过调度外部矩阵管理模块送入所需编码矩阵,将该矩阵根据LRU算法更新编码矩阵调度模块中的缓存及表项,同时将该矩阵送入矩阵选择模块后参与编码计算。
可见,本实施例先将多个预设的矩阵保存至缓存中,通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。
以下通过一个实施例,对本申请提供的一种矩阵调度方法进行说明。
本实施例中,该矩阵包括编码矩阵和解码矩阵,该方法可以包括:
S301,将多个预设的矩阵保存至缓存中;其中,缓存为与运算装置连接的存储介质;
S302,当接收到运算装置的矩阵获取命令时,根据矩阵获取命令判断缓存中是否存在对应的解码矩阵;若是,则执行S303;若否,则执行S304;
S303,根据页面置换算法将缓存中的解码矩阵和对应的存储映射表进行更新;向运算装置发送解码矩阵;
可见,本实施例中主要是对如何获取到解码矩阵进行说明。首先判断该缓存中是否存在对应的解码矩阵,当存在对应的解码矩阵时,根据页面置换算法将缓存中的解码矩阵和对应的存储映射表进行更新;由于本次调度矩阵中,改变了矩阵的使用时间,因此,通过页面置换算法将该对应的存储映射表进行更新,保持最近使用的矩阵保存在优先的位置。最后,向运算装置发送解码矩阵,以便该运算装置根据该解码矩阵进行相应的矩阵运算。
S304,判断缓存中是否存在解码矩阵对应的编码矩阵;若是,则执行S305;若否,则执行S306;
S305,对编码矩阵进行逆运算得到解码矩阵;根据页面置换算法将解码矩阵存入缓存,并更新对应的存储映射表;向运算装置发送矩阵;
S306,接收存储设备发送的解码矩阵;通过页面置换算法将解码矩阵存入缓存,并更新对应的存储映射表;向运算装置发送编码矩阵。
可见,S304至S306主要是当查询不到对应的解码矩阵的情况进行说明。当该缓存中不存在对应的矩阵时,可以在该缓存中通过对应的编码矩阵计算出对应的解码矩阵,也可以直接从存储设备中获取该对应的解码矩阵。
具体的,首先判断缓存中是否存在解码矩阵对应的编码矩阵;当存在对应的编码矩阵时,对编码矩阵进行逆运算得到解码矩阵;根据页面置换算法将解码矩阵存入缓存,并更新对应的存储映射表;向运算装置发送矩阵;其中,对应的编码矩阵与该解码矩阵之间互为逆矩阵。
当不存在对应的编码矩阵时,接收存储设备发送的解码矩阵;通过页面置换算法将解码矩阵存入缓存,并更新对应的存储映射表;向运算装置发送编码矩阵。
以下通过各个模块之间进行操作的角度,对本申请实施例中进行举例说明。
步骤1,通过外部矩阵管理模块调度多个解码矩阵,初始化解码矩阵调度模块中的矩阵缓存。
步骤2,查询解码矩阵调度模块是否存在所需解码矩阵。若查询命中则至步骤3,否则至步骤4。
步骤3,将查询命中的解码矩阵根据LRU算法更新解码矩阵调度模块中的缓存及表项,同时将该矩阵送入矩阵选择模块后参与编码计算。
步骤4,查询编码矩阵调度模块是否存在所需逆矩阵计算的编码矩阵。若查询命中则至步骤5,否则至步骤6。
步骤5,将查询命中的编码矩阵送入解码逆矩阵计算模块,计算的逆矩阵结果送入解码矩阵调度模块,将该矩阵根据LRU算法更新解码矩阵调度模块中的缓存及表项,同时将该矩阵送入矩阵选择模块后参与编码计算。
步骤6,经过调度外部矩阵管理模块送入所需解码矩阵,将该矩阵根据LRU算法更新解码矩阵调度模块中的缓存及表项,同时将该矩阵送入矩阵选择模块后参与解码计算。
可见,本实施例先将多个预设的矩阵保存至缓存中,通过与运算装置连接的缓存直接向运算装置发送需要的矩阵,而不是运算装置每次从总线中获取矩阵,减少了存储系统搬运矩阵的次数,节省了矩阵调度时间,提高了存储系统的整体性能和时效性。
此外,以下通过一个实施例,对以上实施例中通过页面置换算法保存缓存以及存储映射表的方式进行说明。以上实施例中的存储映射表即为本实施例中的表项。
请参考图2,图2为本申请实施例所提供的一种矩阵调度方法的缓存示意图。
在本实施例中的编解码矩阵调度模块矩阵缓存及LRU表项如图2所示,在该矩阵缓存中有8组矩阵缓存空间地址由0-7保持不变,矩阵与矩阵信息地址相同,矩阵信息的数据与矩阵的数据相对应。由于单个矩阵的数据量可能较大,所以矩阵信息作为矩阵查询的依据,当查询矩阵的矩阵信息匹配成功则认为该矩阵查询命中。LRU表项地址由0-7保持不变,但其存储的内容为矩阵的地址根据矩阵的调度情况实时更新,作为矩阵最近最少使用的依据,如果缓存已满则剔除最近最少使用的矩阵。
下面将根据缓存及查询的三种基本情况加以阐述矩阵缓存及LRU表项的更新状态。当矩阵缓存未满,将新矩阵及其矩阵信息写入缓存的最新地址,并将最新地址更新至LRU表项中。
当矩阵已满,查询矩阵命中。此时无需更新矩阵及矩阵信息缓存,只需更新LRU表项,更新的策略为将LRU表项的最大地址数据更新为命中的矩阵地址,该命中地址后面的表项数据均向上挪一个位置。
当矩阵未满,查询矩阵命中,只更新LRU表项,此处不多加赘述。
当矩阵已满,查询矩阵未命中,添加新矩阵。此时需要根据LRU表项确定最近最少使用的矩阵地址即该LRU表项的最小地址数据,将其地址对应的矩阵及矩阵信息更新为新矩阵及新矩阵信息。更新矩阵缓存后,将LRU表项内所有表项数据均向上挪一个位置,将最上面的矩阵地址剔除,将更新的矩阵地址更新至表项的最大地址。
可见,通过以上方案的详细阐述可以分析出该硬件实现方案的优越性,由于在调度中添加了矩阵缓存和LRU算法,使得在矩阵调度中大幅提高矩阵命中率,进而减少系统频繁调度内存中的矩阵,减少了数据传输对带宽的占用,节约了RS纠删编解码的调度时间,提高了系统的整体性能。
下面对本申请实施例提供的一种矩阵调度装置进行介绍,下文描述的一种矩阵调度装置与上文描述的一种矩阵调度方法可相互对应参照。
请参考图3,图3为本申请实施例所提供的一种矩阵调度装置的结构示意图。
本实施例中,该装置可以包括:
矩阵初始化模块100,用于将多个预设的矩阵保存至缓存中;其中,缓存为与运算装置连接的存储介质;
矩阵查询模块200,用于当接收到运算装置的矩阵获取命令时,根据矩阵获取命令判断缓存中是否存在对应的矩阵;
矩阵发送模块300,用于当缓存中存在对应的矩阵,向运算装置发送矩阵;
矩阵获取模块400,用于当缓存中不存在对应的矩阵,执行矩阵类型对应的矩阵获取操作得到矩阵,并向运算装置发送矩阵。
可选的,该矩阵发送模块300,可以包括:
位置确定单元,用于当缓存中存在对应的矩阵时,通过记录的存储映射表确定存储位置;
矩阵获取发送单元,用于根据存储位置获取矩阵,并向运算装置发送矩阵。
本申请实施例还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的矩阵调度方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的矩阵调度方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种矩阵调度方法、矩阵调度装置、计算设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种矩阵调度方法,其特征在于,包括:
将多个预设的矩阵保存至缓存中;其中,所述缓存为与运算装置连接的存储介质;
当接收到所述运算装置的矩阵获取命令时,根据所述矩阵获取命令判断所述缓存中是否存在对应的矩阵;
若是,则向所述运算装置发送所述矩阵;
若否,则执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵。
2.根据权利要求1所述的矩阵调度方法,其特征在于,所述矩阵包括编码矩阵;相应的,当所述缓存中存在所述对应的矩阵时,向所述运算装置发送所述矩阵,包括:
当所述缓存中存在对应的所述编码矩阵时,向所述运算装置发送所述编码矩阵,以便所述运算装置根据所述编码矩阵进行矩阵运算。
3.根据权利要求2所述的矩阵调度方法,其特征在于,当所述缓存中不存在所述对应的矩阵时,执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵,包括:
当所述缓存中不存在对应的所述编码矩阵时,接收存储设备发送的所述编码矩阵;
通过页面置换算法将所述编码矩阵存入所述缓存,并更新对应的存储映射表;
向所述运算装置发送所述编码矩阵,以便所述运算装置根据所述编码矩阵进行矩阵运算。
4.根据权利要求1所述的矩阵调度方法,其特征在于,所述矩阵包括解码矩阵;相应的,当所述缓存中存在所述对应的矩阵时,向所述运算装置发送所述矩阵,包括:
当所述缓存中存在对应的所述解码矩阵时,根据页面置换算法将所述缓存中的解码矩阵和对应的存储映射表进行更新;
向所述运算装置发送所述解码矩阵。
5.根据权利要求4所述的矩阵调度方法,其特征在于,当所述缓存中不存在所述对应的矩阵时,执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵,包括:
当所述缓存中不存在对应的所述解码矩阵时,判断所述缓存中是否存在所述解码矩阵对应的编码矩阵;
若是,则对所述编码矩阵进行逆运算得到所述解码矩阵;根据页面置换算法将所述解码矩阵存入所述缓存,并更新对应的存储映射表;向所述运算装置发送所述矩阵;
若否,则接收存储设备发送的所述解码矩阵;通过页面置换算法将所述解码矩阵存入所述缓存,并更新对应的存储映射表;向所述运算装置发送所述编码矩阵。
6.根据权利要求4所述的矩阵调度方法,其特征在于,当所述缓存中存在所述对应的矩阵时,向所述运算装置发送所述矩阵,包括:
当所述缓存中存在所述对应的矩阵时,通过记录的存储映射表确定存储位置;
根据所述存储位置获取所述矩阵,并向所述运算装置发送所述矩阵。
7.一种矩阵调度装置,其特征在于,包括:
矩阵初始化模块,用于将多个预设的矩阵保存至缓存中;其中,所述缓存为与运算装置连接的存储介质;
矩阵查询模块,用于当接收到所述运算装置的矩阵获取命令时,根据所述矩阵获取命令判断所述缓存中是否存在对应的矩阵;
矩阵发送模块,用于当所述缓存中存在对应的矩阵,向所述运算装置发送所述矩阵;
矩阵获取模块,用于当所述缓存中不存在对应的矩阵,执行矩阵类型对应的矩阵获取操作得到所述矩阵,并向所述运算装置发送所述矩阵。
8.根据权利要求7所述的矩阵调度装置,其特征在于,所述矩阵发送模块,包括:
位置确定单元,用于当所述缓存中存在所述对应的矩阵时,通过记录的存储映射表确定存储位置;
矩阵获取发送单元,用于根据所述存储位置获取所述矩阵,并向所述运算装置发送所述矩阵。
9.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的矩阵调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的矩阵调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010813929.1A CN111930506A (zh) | 2020-08-13 | 2020-08-13 | 一种矩阵调度方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010813929.1A CN111930506A (zh) | 2020-08-13 | 2020-08-13 | 一种矩阵调度方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111930506A true CN111930506A (zh) | 2020-11-13 |
Family
ID=73311870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010813929.1A Pending CN111930506A (zh) | 2020-08-13 | 2020-08-13 | 一种矩阵调度方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930506A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6118724A (en) * | 1997-04-30 | 2000-09-12 | Canon Kabushiki Kaisha | Memory controller architecture |
CN106877879A (zh) * | 2016-12-30 | 2017-06-20 | 北京联想核芯科技有限公司 | 数据处理的方法以及编码器 |
CN106991077A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种矩阵计算装置 |
WO2019015541A1 (zh) * | 2017-07-20 | 2019-01-24 | 上海寒武纪信息科技有限公司 | 一种计算方法及相关产品 |
-
2020
- 2020-08-13 CN CN202010813929.1A patent/CN111930506A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6118724A (en) * | 1997-04-30 | 2000-09-12 | Canon Kabushiki Kaisha | Memory controller architecture |
CN106991077A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种矩阵计算装置 |
CN106877879A (zh) * | 2016-12-30 | 2017-06-20 | 北京联想核芯科技有限公司 | 数据处理的方法以及编码器 |
WO2019015541A1 (zh) * | 2017-07-20 | 2019-01-24 | 上海寒武纪信息科技有限公司 | 一种计算方法及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569270B2 (en) | Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts | |
RU2438165C2 (ru) | Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша | |
US10042576B2 (en) | Method and apparatus for compressing addresses | |
US20150143045A1 (en) | Cache control apparatus and method | |
CN105677580A (zh) | 访问缓存的方法和装置 | |
US20150089121A1 (en) | Managing A Cache On Storage Devices Supporting Compression | |
US20110066830A1 (en) | Cache prefill on thread migration | |
CN105159844A (zh) | 数据处理装置中的动态缓存分配策略调适 | |
US10496550B2 (en) | Multi-port shared cache apparatus | |
CN112612727B (zh) | 一种高速缓存行替换方法、装置及电子设备 | |
JP2008503922A (ja) | 組込みシステムのためのメモリ圧縮アーキテクチャ | |
CN110737388A (zh) | 数据预读方法、客户端、服务器以及文件系统 | |
CN108984130A (zh) | 一种分布式存储的缓存读取方法及其装置 | |
CN112506823B (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
CN115964319A (zh) | 远程直接内存访问的数据处理方法及相关产品 | |
CN105138473A (zh) | 管理高速缓冲存储器的系统和方法 | |
US20170364442A1 (en) | Method for accessing data visitor directory in multi-core system and device | |
CN108681469B (zh) | 基于Android系统的页面缓存方法、装置、设备及存储介质 | |
CN111930506A (zh) | 一种矩阵调度方法及相关装置 | |
US6857046B1 (en) | Caching for context switching applications | |
KR100532417B1 (ko) | 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법 | |
CN110658999B (zh) | 一种信息更新方法、装置、设备及计算机可读存储介质 | |
KR20160018204A (ko) | 전자 장치, 온 칩 메모리 장치 및 온 칩 메모리의 운영 방법 | |
US9299126B2 (en) | Image processing apparatus and a method of storing encoded data blocks generated by such an image processing apparatus | |
CN113010454A (zh) | 数据读写方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201113 |