CN110795903A - 指令处理方法、装置及相关产品 - Google Patents

指令处理方法、装置及相关产品 Download PDF

Info

Publication number
CN110795903A
CN110795903A CN201910864066.8A CN201910864066A CN110795903A CN 110795903 A CN110795903 A CN 110795903A CN 201910864066 A CN201910864066 A CN 201910864066A CN 110795903 A CN110795903 A CN 110795903A
Authority
CN
China
Prior art keywords
instruction
subsequence
parallelism
current
new
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.)
Granted
Application number
CN201910864066.8A
Other languages
English (en)
Other versions
CN110795903B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201910864066.8A priority Critical patent/CN110795903B/zh
Publication of CN110795903A publication Critical patent/CN110795903A/zh
Application granted granted Critical
Publication of CN110795903B publication Critical patent/CN110795903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本申请提供了一种指令处理的方法、装置及相关产品,该指令处理方法用于提高指令序列的并行度,本申请实施例通过插入若干指令提高指令序列的并行度,可有效提高指令序列的运算效率。

Description

指令处理方法、装置及相关产品
技术领域
本公开涉及计算机技术领域,特别是涉及一种指令处理方法及装置以及 相关产品。
背景技术
随着硅材料半导体工艺接近物理极限,在单位面积的硅材料芯片上集成 更多的晶体管变得越来越困难。电子器件中集成电路集成的功能越来越多, 处理器需要执行的指令数量也越来越多,这就对指令处理提出了新的挑战。 因此,如何优化指令序列,以提高指令序列的处理效率将成为需要考虑的问 题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高指令序列处理效 率的指令处理方法、装置以及相关产品。
第一方面,提供一种指令处理的方法,所述方法包括:
获取当前子序列及所述当前子序列的并行度;
判断所述当前子序列的并行度是否符合第一预设并行度;
在所述当前子序列的并行度不符合所述第一预设并行度时,在所述当前 子序列中插入额外指令,得到新的子序列,并将所述新的子序列重新确定为 所述当前子序列。
第二方面,本申请实施例提供一种指令处理的装置,所述指令处理装置 包括:
指令获取模块,用于获取当前子序列及其并行度信息;
判断模块,用于将所述当前子序列的并行度与第一预设并行度进行比较;
插入额外指令模块,用于当所述当前子序列的并行度不符合所述第一预 设并行度时,在所述当前子序列中插入额外指令,得到新的子序列,并将所 述新的子序列重新确定为所述当前子序列。
第三方面,本申请实施例提供了一种计算机可读存储介质,其存储用于 电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第一 方面所述的方法步骤。
第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序 产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程 序可操作来使计算机执行如第一方面所述的方法步骤。
第五方面,本申请实施例提供了一种芯片,该芯片包括上述第二方面所 述待测器件验证装置。
第六方面,本申请实施例提供了一种芯片封装结构,该芯片封装结构包 括上述第五方面所述的芯片。
本公开的指令处理方法、装置以及相关产品,通过在当前子序列中插入 至少一个额外的指令,所述额外指令可以与当前子序列中至少一个指令并行, 使当前子序列中能够并行的指令数增大,直至符合所述第一预设并行度。这 样,可以根据该符合第一预设并行度对应的待处理器指令序列执行该指令序 列,从而可以加速指令处理的效率。并且,当需要重复执行该指令序列时, 可以直接按照该符合预设条件的并行度信息对应的待处理器指令序列执行 该指令序列,无需移动同步指令并确定并行度信息,从而可以提高指令序列的处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中 所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。
图1示出本申请一实施例提供的指令处理方法的流程图;
图2示出本申请一实施例提供的插入额外指令的指令序列图;
图3示出本申请一实施例提供的确定并行度的过程图;
图4示出本申请一实施例提供的一种确定符合第二预设条件并行度的方 法流程图;
图5示出本申请一实施例提供的移动额外指令前后的示意图;
图6示出本申请一实施例提供的装置图;
图7示出本申请一实施例提供的一种电子设备的框图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是 全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性 劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第 二”、等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书 和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、 步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、 步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实 施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所 使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一 个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权 利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的 任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上 下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测 到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可 以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测 到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
随着电子器件中集成电路集成的功能越来越多,处理器需要执行的指令 数量也越来越多,这就对指令处理提出了新的挑战。传统的指令处理方法主 要分为两种:一种是直接对随机生成的指令序列进行处理;另一种是由于指 令序列中可能存在竞争冒险的指令,因而要求指令序列中的指令按照一定的 顺序运行,基于此,可以在指令序列中随机插入同步指令,以保证指令序列 中具有竞争冒险的指令运行时的先后顺序。但是,以上两种指令处理方法均 是对随机产生的指令序列进行直接处理,并未对指令序列中各个指令的执行 顺序等进行优化,从而导致指令序列的处理效率较低。
根据本公开实施例的指令序列处理方法可应用于处理器中,该处理器可 以是通用处理器,例如CPU(Central Processing Unit,中央处理器),也 可以是用于执行人工智能运算的人工智能处理器(IPU)。人工智能运算可包 括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k- means运算、支持向量机运算等。该人工智能处理器可例如包括GPU(Graphics Processing Unit,图形处理单元)、NPU(Neural-NetworkProcessing Unit, 神经网络处理单元)、DSP(Digital Signal Process,数字信号处理单元)、 现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片中的一 种或组合。本公开对处理器的具体类型不作限制。
在一种可能的实现方式中,本公开中所提及的处理器可包括多个处理单 元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、 池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作 限制。
图7示出根据本公开实施例的指令序列处理方法的处理器的示意图。如 图7所示,处理器100包括多个处理单元101以及存储单元102,多个处理 单元101用于执行指令序列,存储单元102用于存储数据,可包括随机存储 器(RAM,Random Access Memory)和寄存器堆。处理器100中的多个处理 单元101既可共用部分存储空间,例如共用部分RAM存储空间和寄存器堆, 又可同时拥有各自的存储空间。该处理器能够执行本申请的指令处理方法,以使得该待处理指令序列的并行度满足预设条件,从而提高待处理指令序列 的处理效率和准确性。具体的实现方案详见下文的描述。
如图1所示,图1为本申请一实施例提供的指令处理方法的流程图。该 方法能够应用于上述的计算机设备中,所述方法包括:
11:处理器获取当前子序列及所述当前子序列的并行度。
其中,处理器可以从存储器中读取上述当前子序列,该当前子序列可以 是按照一定规则(如先进先出)排列的指令。所述子序列的起始指令或终止 指令中至少一个为同步指令,所述同步指令(sync指令)用于保证所述同步 指令之前的所有指令执行完毕后才能执行所述同步指令之后的指令,在某种 程度上具有保证指令运行顺序的作用,本方案中起始指令和或终止指令中的 同步指令用于保证两个子序列之间的执行顺序。具体他,将相邻两条同步指 令之间的指令序列作为当前子序列,该当前子序列的起始指令和终止指令均为同步指令。
可选地,处理器可以从外部直接获得所述当前子序列并行度信息,也可 以在获取当前子序列后,计算获得该当前子序列序列的并行度信息,具体的 当前子序列的并行度信息的方法详见下文。应当清楚的是,在计算机体系结 构中,并行设计可以包括数据并行和指令并行,其中,在指令流水中,处理 器同时执行多条指令称为指令并行,该并行执行的指令之间无相互依赖关系。 该并行度信息可以用于衡量待处理指令序列中并行执行的指令数量。可选地, 该当前子序列中并行执行的指令数量越多,则该当前子序列的并行度越高,进而该当前子序列的处理时间越短,处理效率越高。该当前子序列中并行指 令的指令数量越少,则当前子序列的并行度越低,进而处理器对当前子序列 的处理时间越长,处理效率越低。
12:判断所述当前子序列的并行度是否符合第一预设并行度。
其中,所述当前子序列中的指令数量并不是确定的,为了提高处理器执 行当前子序列的效率,我们应尽可能提高所述当前子序列的并行度。为了方 便判断,我们可以预设一个并行度值来作为衡量并行度高低的标准,所以我 们用第一预设并行度来判断所述当前子序列的并行度是否足够大。
例如,在当前子序列的指令数量较少时,则认为该当前子序列的并行度 较低,其不符合第一预设并行度。在当前子序列的指令数量较多时,则认为 该当前子序列的并行度较高,其符合第一预设并行度。
13:在所述当前子序列的并行度不符合所述第一预设并行度时,在所述 当前子序列中插入额外指令,得到新的子序列,并将所述新的子序列确定为 当前子序列。
其中,所述额外指令来自于指令集合其他的指令。可选地,所述额外指 令与所述当前子序列中指令之间不存在数据竞争关系。即所述额外指令是与 所述当前子序列中任意指令都没有地址相关性的指令,无地址相关是为了防 止插入新的指令而引起新的数据冒险。如果说我们为了丰富两条sync指令 之间的指令种类和数目,插入了一堆指令,但是这些指令之间有地址相关(大 概率会引起数据冒险,比如IO指令),那么就会需要再次插入sync指令对 数据冒险进行消除,这样就又回到了起点(因为又多了sync指令)。可选地, 该额外指令可以插入在当前子序列的任意位置。在当前子序列的并行度不符 合第一预设并行度时,处理器可以将额外指令随机插入当前子序列中,并将 该位置作为额外指令的初始位置。
参阅图2,图2示出本申请一实施例提供的插入额外指令的指令序列图。 假设所述指令序列为一条当前子序列,所述当前子序列的起始指令和终止指 令为两个同步指令sync1和sync2,所述当前子序列还包括指令B、指令C、 指令D和指令E,在所述当前子序列的并行度不符合第一预设条件时,在所 述指当前子序列中插入额外指令W,所述额外指令的插入位置是任意的,可 以位于以下任意一个位置:
Sync1指令与指令B之间、指令B和指令D之间(也就是图中所述位置)、 指令D和指令E之间、指令E和sync2之间。
可选地,所述每次插入的额外指令为一个或多个。
可选地,在所述当前子序列中插入额外指令,得到新的子序列,并将所 述新的子序列重新确定为当前子序列还包括:至少移动一次所述额外指令的 位置,获得至少一个新的子序列及所述至少一个新的子序列的并行度,确定 所述至少一个新的子序列的并行度中符合第二预设并行度所对应的新的子 序列为所述当前子序列。
其中,由于上述当前子序列中的额外指令是随机插入的,即所述额外指 令在所述当前子序列中的初始位置是随机的,因此,该包含额外指令的当前 子序列的并行度可能并不符合第二预设条件,因此处理器可以移动所述额外 指令的位置,得到新的子序列并确定新的子序列中符合第二预设条件的额外 指令的位置,以获得新的子序列的并行度信息,并根据各个子序列的并行度 信息确定符合第二预设条件的并行度信息。其中,所述第二预设条件是使新 的子序列并行度达到最大的额外指令的插入位置。
可选地,在所述当前子序列的并行度符合所述第一预设并行度时,无需 在当前子序列中插入额外指令。例如,一条当前子序列的并行度不小于第一 预设并行度时,处理器直接对所述当前子序列进行处理。
在一个可选地的实施例中,上述至少移动一次所述额外指令的位置,获 得至少一个新的子序列,包括:
获取所述额外指令的运动区间以及运动步长;
根据所述额外指令的运动步长,每次将所述额外指令从当前位置移动至 目标位置,获得至少一个新的子序列,
其中,所述当前位置和所述目标位置均位于所述额外指令的运动区间内。
所述额外指令的运动步长是指所述额外指令每移动一次位置,所述额外 指令的起始位置与终止位置两个位置点之间的差值。可选地,该额外指令的 运动步长也可以是预设值,例如,该额外指令的运动步长可以是用户自定义 输入的。根据具体情况具体分析,例如,若所述指令序列的长度比较短,所 述运动步长可以设为1个单位,这种情况我们也称之为遍历,也是使结果最 准确的设置;若所述指令序列的长度很长,遍历的情况可能会花费很长时间, 此时所述运动步长可以设置大一些,比如3个单位、5个单位甚至更大,本 公开对此不作限制。
可选地,所述运动步长可以以指令数为单位,也可以根据并行度以指令 块确定,本公开对此不作限制。其中,所述指令块在下文中会详细介绍。
额外指令的运动区间是指额外指令在当前子序列中所有可能位置的集 合,额外指令可以移动至运动区间中的任意位置。可选地,所述额外指令的 运动区间可以是根据该额外指令所在的当前子序列中的指令确定的。具体地, 该额外指令的运动区间可以根据两个同步指令之间的指令确定。可选地,该 额外指令的运动区间可以采用坐标的形式进行表示,其中,该额外指令的初 始位置可以作为坐标的原点,也可以根据确定其他位置为坐标原点,所述运 动区间不限于坐标的表示方式,只要能正确表达出额外指令的移动范围即可, 本公开对所述运动区间的表示方法不做限制。
仍以图2为例,假设所述额外指令W的位置如图2所示,额外指令W位 于指令C和指令D之间,用坐标的方式表示所述额外指令的运动区间,当前 额外指令W为坐标原点,所述额外指令W的运动区间为[-2,2]。
可选地,上述确定子序列的并行度也可以用指令块表示,所述确定子序 列的并行度,包括:
根据所述新的子序列中所述指令块,确定所述新的子序列的并行度;其 中,所述子序列每个指令块中包括至少一条指令。可选地,子序列中的指令 可以是按照一定的规则划分为不同的指令块,例如按照指令间的并行关系划 分为不同的指令块。
进一步可选地,在根据指令块确定子系列的并行度的操作之前,处理器 可以首先将子序列划分为至少一个指令块。具体地,上述方法还包括:
若所述子序列中相邻的两个指令块中第二指令块中指令与第一指令块 中至少一个指令在预设时间段内访问同一个部件,则将所述两个指令块划分 在不同的指令块中;
若所述子序列中相邻的两个指令块中第二指令块中的指令与第一指令 块中所有指令在预设时间段内访问不同的部件,则将所述两个指令块划分在 相同的指令块中。
例如,参阅图3,图3示出本申请一实施例提供的确定并行度的过程图。 其中图3-A为一条子序列,所述子序列包括指令B~J和两个同步指令sync1 和sync2,对于一条未处理过的指令序列,我们可以认为每条指令为一个指 令块,也就是指令块B~指令块J和指令块sync1、指令块sync2。在确定该 子序列的并行度时,因为同步指令与其他指令在预设时间段内访问不同的部 件,与其他指令都不能并行,因此sync1和sync2都单独成一个指令块。所 述子序列中相邻的两个指令块中第二指令块中的指令C与第一指令块B在预 设时间段内访问不同的部件,因此将所述两个指令块划分在相同的指令块中, 此时,所述子序列中相邻的两个指令块中第二指令块中的指令D与第一指令 块所有指令包括指令BC指令在预设时间段内访问不同的部件,因此将所述 两个指令块划分在相同的指令块中,此时,所述子序列中相邻的两个指令块 中第二指令块中的指令E与第一指令块至少一个指令包括指令BCD指令在预 设时间段内访问相同的部件,将所述两个指令块划分在不同的指令块中,以 此类推,对该子序列的其他指令执行相同的操作,得到整个子序列的指令块。
例如图3-B所示,图3-B示出本申请提供的一个可能的指令运行图,根 据所述子序列中所述指令块,确定所述新的子序列的并行度。我们可以用当 前子序列地指令块数量衡量所述当前子序列的并行度,同一条当前子序列中, 所述指令块的数量越少,并行度越高。
可选地,所述子序列可以用指令运行图的形式表示,将所述指令块依次 排列连接起来,当所述相邻两个指令块中都多于一条指令时,在所述两个指 令块之间插入Nope块,其中,所述Nope指令块不在所述并行度的计算范围, 所述Nope块只是为了所述两个指令块中指令的连接清楚。得到所述当前子 序列的指令运行图。
例如,如图3-B所示,所述图3-B是图3-A所述当前子序列划分指令块 后得到的指令运行图。当前子序列中指令块FG和指令块HI中均包含至少两 个指令,则在所述两个指令块中间加入Nope块。进一步地,所述指令运行图 中指令块为5(同步指令和Nope块不计算在内),我们可以认为所述当前子 序列的并行度为5。
可选地,当同一当前子序列中,可能存在指令块数相同的情况,所述情 况可能是由于插入额外指令的位置不同,导致指令块划分的结果不同,但是 所述至少两种情况下得到的指令块数相同,此时所述指令块中指令数多的情 况下所述当前子序列的并行度越高。例如假如图3-B中存在一种情况,指令 D不能与指令B和C划分在一个指令块中,而与指令E划分为一个指令块中, 那么所述当前子序列得到的指令块数也是5,与图3-B所述划分方式比,图 3-B中指令块中包含3个指令BCD,而上述情况下该指令块只包括两个指令 BC,此时我们可认为图3-B所示情况下的并行度更高。
可选地,当子序列中存在指令块中指令数大于2个指令时,在插入额外 指令时可能存在指令拆分与合并的情况。例如在图3-B所示指令序列的基础 上,插入额外指令w,假设插入的额外指令的位置在指令F和指令G之间, 我们需要先把指令块FG拆分为指令块F和指令块G,然后根据上文所述方 法判断指令W和指令F或指令G在预设时间段内是否访问同一部件,然后确 定所述指令FGW中至少两个指令能否合并。
可选地,所述插入的额外指令可以以划分的指令块为单位进行插入或移 动,可以减少额外指令的运动步长。
可选地,在确定额外指令的运动步长和运动区间时,有以下几种情况:
1、当所述运动步长以指令数为单位时
(1)运动步长小于在后指令块的指令数时,将所述在后指令块拆分为 至少一个子指令块,同时判断所述额外指令在当前位置时前后两个指令块中 的指令是否可以进行合并,并进行相应操作,然后移动所述额外指令的位置 至目标位置,其中,所述在后指令块指所述额外指令后面的指令块。
例如,如图5-A所示为一个插入额外指令的指令序列,运动步长为2时, 小于所述在后指令块的指令数3,将所述在后指令块BCD拆分为指令块BC和 指令块D两个指令块,得到如图5-B所示拆分后的指令序列。所述额外指令 W在当前位置时前后两个指令块分别为sync1和指令块BC,不可以进行合 并,之后将所述子序列中的额外指令从当前位置移动至目标位置指令块BC 后,获得新的指令序列。
(2)运动步长等于在后指令块的指令数时,直接将所述额外指令移至 所述在后指令块的后面,同时判断所述额外指令在当前位置时前后两个指令 块中的指令是否可以进行合并,并进行相应操作,然后移动所述额外指令的 位置至目标位置,得到新的指令序列。
例如,运动步长为3,等于在后指令块的指令数,直接将所述额外指令 移至指令块BCD的后面,同上sync1与在后指令块不能合并,得到新的指令 序列。
当运动步长大于在后指令块中的指令数时,继续向后面的指令块移动, 直至所述指令的总数量等于所述运动步长的大小。
例如,运动步长大于3时,假设运动步长为5,将指令块FG进行拆分, 同上额外指令的前后指令块sync1与指令块BCD不能合并,将额外指令移动 至目标指令位置指令块F之后。
2、当所述运动步长以指令块为单位时
当所述运动步长以指令块为单位时,不存在对指令块进行拆分的过程, 移动到的目标位置均为当前位置加运动步长所得到的位置,在一个可能的实 施例中,在第一次移动所述额外指令的位置时,需要判断所述额外指令前后 两个指令块中的指令是否可以进行合并。例如,如图5-A所示指令运行图, 假设运动步长以指令块为单位,运动步长为1、2、3等等,相应的所述额外 指令从当前位置移动至指令块BCD后面、指令块E后面或者指令块FG后面 等等,与此同时,需判断指令块sync1与指令块BCD是否能合并,此处不可 以合并,可选地,假如在前指令块与在后指令块内指令在预设时间段内,不 访问同一个部件,那么所述两个指令块可以并行,将所述两个指令块合并为 同一个指令块。
可选地,在所述当前子序列中插入额外指令,至少移动一次所述额外指 令的位置,获得至少一个新的子序列及所述至少一个新的子序列的并行度, 确定所述至少一个新的子序列的并行度中符合第二预设并行度所对应的新 的子序列为所述当前子序列,包括:
若当前新的子序列的并行度小于上一新的子序列的并行度,则根据所述 当前新的子序列中插入指令的运动方向,继续获取下一新的子序列,直至所 述新的子序列的并行度符合所述第二预设并行度;
若当前新的子序列的并行度大于或者等于上一新的子序列的并行度,则 根据所述当前新的子序列中所述额外指令的运动方向及预设接受概率,继续 获取下一新的子序列,直至所述新的子序列的并行度符合所述第二预设并行 度。
参阅图4,图4示出本申请一实施例提供的一种确定符合第二预设条件 并行度的方法流程图。开始随机产生一个初始解x,所述解可以是衡量子序 列并行度的指令块数,然后按照某种方法产生新解x1,所述某种方法可以通 过移动指令的位置或通过插入额外的指令获得新的指令块数x1,然后判断所 述新的指令块数与初始指令块数的大小,在所述获得的新的指令块数x1小 于初始解x时,将所述新解x1代替初始解x,判断此时子序列并行度是否达 到要求,假若扔不符合要求,继续缩减并行度,重复执行上述操作,直至得 到的子序列的并行度达到要求,符合所述第二预设条件,得到最优解x。
当插入的额外指令数量为两个以上时,本申请实施例可以采用上述方法 同时移动两条以上的额外指令,以快速确定各个额外指令的插入位置,从而 使得新的子序列能够符合第二并行度,从而提高该子序列的处理效率。应当 清楚的是,本申请实施例仅以上述方法举例说明确定所述至少一个新的子序 列的并行度中符合第二预设并行度所对应的新的子序列的过程,并不限于上 述方法,上述确定新的子序列的方法还可以是其他优化算法,本公开对此不 作限制。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表 述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描 述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同 时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属 于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
进一步需要说明的是,虽然图1的流程图中的各个步骤按照箭头的指示 依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本 文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以 以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或 者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可 以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行, 而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或 者交替地执行。
图6示出本申请一实施例提供的装置图,装置610包括:
指令获取模块601,用于获取当前子序列及其并行度信息;
判断模块602,用于将所述当前子序列的并行度与第一预设并行度进行 比较;
插入额外指令模块603,用于当所述当前子序列的并行度不符合所述第 一预设并行度时,在所述当前子序列中插入额外指令,得到新的子序列,并 确定所述新的子序列为当前子序列。
在一个可能地实施例中,所述插入额外指令模块603还包括指令移动模 块,所述指令移动模块可以用于至少移动一次所述额外指令的位置,获得至 少一个新的子序列,确定所述至少一个新的子序列的并行度,确定所述至少 一个新的子序列的并行度中符合第二预设并行度所对应的新的子序列为所 述当前子序列。
在一个可选地实施例中,插入的额外指令与所述当前子序列中指令之间 不存在数据竞争关系。
在一种可能的实现方式中,所述指令移动模块还包括区间步长确定模块, 所述区间步长确定模块还可以用于:
获取所述额外指令的运动区间以及运动步长;
根据所述额外指令的运动步长,每次将所述额外指令从当前位置移动至 目标位置,获得至少一个新的子序列,
其中,所述当前位置和所述目标位置均位于所述额外指令的运动区间内。
在一个可能地实施例中,所述指令移动模块还包括并行度确定模块,所 述并行度确定模块,用于确定指令序列的并行度,所述确定子序列的并行度, 包括:
若所述子序列中相邻的两个指令块中第二指令块中指令与第一指令块 中至少一个指令在预设时间段内访问同一个部件,则将所述两个指令块划分 在不同的指令块中;
若所述子序列中相邻的两个指令块中第二指令块中的指令与第一指令 块中所有指令在预设时间段内访问不同的部件,则将所述两个指令块划分在 相同的指令块中;
其中,所述子序列每个指令块中包括至少一条指令,根据所述新的子序 列中所述指令块,确定所述新的子序列的并行度。
可选地,所述装置还用于将所述指令块用指令运行图的形式表示。
可选地,所述装置还用于当所述相邻两个指令块中都包括至少两条指令 时,在所述相邻指令块之间插入Nope块,所述Nope块不在所述并行度的计 算范围。
在一种可能的实现方式中,所述指令移动模块还包括确定子序列模块, 所述确定子序列模块还用于:
若当前新的子序列的并行度小于上一新的子序列的并行度,则根据所述 当前新的子序列中插入指令的运动方向,继续获取下一新的子序列,直至所 述新的子序列的并行度符合所述第二预设并行度;
若当前新的子序列的并行度大于或者等于上一新的子序列的并行度,则 根据所述当前新的子序列中所述额外指令的运动方向及预设接受概率,继续 获取下一新的子序列,直至所述新的子序列的并行度符合所述第二预设并行 度。
在一种可能的实现方式中,所述区间步长确定模块还包括指令拆分合并 模块,所述指令拆分合并模块,用于在若在后指令块中的指令数量大于所述 额外指令的运动步长时,则将所述在后指令块拆分为至少一个子指令块,之 后执行所述根据所述子序列中额外指令的运动步长,每次将至少一个所述子 序列中的额外指令从当前位置移动至目标位置,获得至少一个新的待处理指 令序列;
在将所述额外指令从当前位置移动至目标位置后,若在预设时间段,所 述当前位置的后一指令与在先指令块中的指令访问不同的部件时,则将所述 当前位置的后一指令合并至所述在先指令块;
其中,所述在先指令块是指位于所述额外指令的当前位置之前的指令块, 所述在后指令块是指位于所述额外指令的当前位置之后的指令块。
本公开提供的指令序列处理装置610能够实现图1-5所示方法实施例中 的各个步骤,并实现相同的技术效果,为避免重复,这里不再赘述。
应该理解,上述的装置实施例仅是示意性的,本披露的装置还可通过其 它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑 功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组 件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
所述作为分离部件说明的单元或模块可以是物理上分开的,也可以不是 物理上分开的。作为单元或模块说明的部件可以是物理单元,也可以不是物 理单元,即可以位于一个装置中,或者也可以分布到多个装置上。本披露中 实施例的方案可以根据实际的需要选择其中的部分或者全部单元来实现。
另外,若无特别说明,在本披露各个实施例中的各功能单元/模块可以 集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两 个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件 的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电 路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等 等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比 如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以 是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM (Resistive Random Access Memory)、动态随机存取存储器DRAM(DynamicRandom Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC (Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产 品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解, 本披露的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方 案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在 一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、 服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。 而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各 种可以存储程序代码的介质。
本申请还揭露了一种计算机存储介质,其存储计算机程序,其中,所述 计算机程序是的计算机执行如图1示的指令处理方法的步骤。
本申请还揭露了一种存储介质,其存储计算机程序,其中,所述计算机 程序被计算机设备执行时,实现上述任一实施例的指令处理方法的步骤。具 体地,计算机设备执行上述的计算机程序时,实现如下步骤:
获取当前子序列及所述当前子序列的并行度;
判断所述当前子序列的并行度是否符合第一预设并行度;
在所述当前子序列的并行度不符合所述第一预设并行度时,在所述当前 子序列中插入额外指令,得到新的子序列,并将所述新的子序列重新确定为 所述当前子序列。
应当清楚的是,该计算机程序被计算机设备执行时,其实现的步骤与上 述指令处理方法中的各个步骤相对应,具体可参见上文的描述,此处不再一 一赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有 详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可 以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有 可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应 当认为是本说明书记载的范围。
根据以下条款可更好的理解前述内容:
条款1:一种指令处理方法,所述方法包括:
获取当前子序列及所述当前子序列的并行度;
判断所述当前子序列的并行度是否符合第一预设并行度;
在所述当前子序列的并行度不符合所述第一预设并行度时,在所述当前 子序列中插入额外指令,得到新的子序列,并将所述新的子序列重新确定为 所述当前子序列。
条款2:根据条款1所述的方法,所述在所述当前子序列中插入额外指 令,得到新的子序列,并将所述新的子序列重新确定为当前子序列还包括:
至少移动一次所述额外指令的位置,获得至少一个新的子序列及所述至 少一个新的子序列的并行度,确定所述至少一个新的子序列的并行度中符合 第二预设并行度所对应的新的子序列为所述当前子序列。
条款3:根据条款1所述方法,所述额外指令与所述当前子序列中指令 之间不存在数据竞争关系。
条款4:根据条款2所述方法,所述至少移动一次所述额外指令的位置, 获得至少一个新的子序列,包括:
获取所述额外指令的运动区间以及运动步长;
根据所述额外指令的运动步长,每次将所述额外指令从当前位置移动至 目标位置,获得至少一个新的子序列,
其中,所述当前位置和所述目标位置均位于所述额外指令的运动区间内。
条款5:根据条款2所述方法,所述确定子序列的并行度,包括:
若所述子序列中相邻的两个指令块中第二指令块中指令与第一指令块 中至少一个指令在预设时间段内访问同一个部件,则将所述两个指令块划分 在不同的指令块中;
若所述子序列中相邻的两个指令块中第二指令块中的指令与第一指令 块中所有指令在预设时间段内访问不同的部件,则将所述两个指令块划分在 相同的指令块中;
根据所述新的子序列中所述指令块,确定所述新的子序列的并行度;
其中,所述每个指令块中包括至少一条指令。
条款6:根据条款5所述方法,所述方法还包括:
当所述相邻两个指令块中都包括至少两条指令时,在所述相邻指令块之 间插入Nope块。
条款7:根据条款1-6任一项所述方法,述方法还包括:
将所述当前子序列用指令运行图的形式表示。
条款8:根据条款2-6任一项所述方法,所述确定所述至少一个新的子 序列的并行度中符合第二预设并行度所对应的新的子序列,包括:
若当前新的子序列的并行度小于上一新的子序列的并行度,则根据所述 当前新的子序列中插入指令的运动方向,继续获取下一新的子序列,直至所 述新的子序列的并行度符合所述第二预设并行度;
若当前新的子序列的并行度大于或者等于上一新的子序列的并行度,则 根据所述当前新的子序列中所述额外指令的运动方向及预设接受概率,继续 获取下一新的子序列,直至所述新的子序列的并行度符合所述第二预设并行 度。
条款9:根据条款4所述方法,所述将所述额外指令从当前位置移至目 标位置,包括:
若在后指令块中的指令数量大于所述额外指令的运动步长时,则将所述 在后指令块拆分为至少一个子指令块,之后执行所述根据所述子序列中额外 指令的运动步长,每次将至少一个所述子序列中的额外指令从当前位置移动 至目标位置,获得至少一个新的待处理指令序列;
在将所述额外指令从当前位置移动至目标位置后,若在预设时间段,所 述当前位置的后一指令与在先指令块中的指令访问不同的部件时,则将所述 当前位置的后一指令合并至所述在先指令块;
其中,所述在先指令块是指位于所述额外指令的当前位置之前的指令块, 所述在后指令块是指位于所述额外指令的当前位置之后的指令块。
条款10:一种计算机设备,包括处理器和存储器,所述存储器中存储有 计算机程序,所述处理器执行所述计算机程序时,实现如条款1-9任一项所 述的方法的步骤。
条款11:一种计算机存储介质,所述计算机存储介质中存储有能够被处 理器执行的计算机程序,所述处理器执行所述计算机程序时,实现如条款1- 9任一项所述的方法的步骤。
条款12:一种指令处理装置,所述处理装置包括:
指令获取模块,用于获取当前子序列及其并行度信息;
判断模块,用于将所述当前子序列的并行度与第一预设并行度进行比较;
插入额外指令模块,用于当所述当前子序列的并行度不符合所述第一预 设并行度时,在所述当前子序列中插入额外指令,得到新的子序列,并将所 述新的子序列重新确定为所述当前子序列。
条款13:根据条款12所述的装置,所述插入额外指令模块还用于:
至少移动一次所述额外指令的位置,获得至少一个新的子序列及所述至 少一个新的子序列的并行度,确定所述至少一个新的子序列的并行度中符合 第二预设并行度所对应的新的子序列,并将所述符合第二预设并行度的新的 子序列作为所述当前子序列。
条款14:根据条款12所述装置,所述额外指令与所述当前子序列中指 令之间不存在数据竞争关系。
条款15:根据条款13所述装置,所述插入额外指令模块还用于:
获取所述额外指令的运动区间以及运动步长;
根据所述额外指令的运动步长,每次将所述额外指令从当前位置移动至 目标位置,获得至少一个新的子序列,
其中,所述当前位置和所述目标位置均位于所述额外指令的运动区间内。
条款16:根据条款13所述装置,所述插入额外指令模块还用于:
若所述子序列中相邻的两个指令块中第二指令块中指令与第一指令块 中至少一个指令在预设时间段内访问同一个部件,则将所述两个指令块划分 在不同的指令块中;
若所述子序列中相邻的两个指令块中第二指令块中的指令与第一指令 块中所有指令在预设时间段内访问不同的部件,则将所述两个指令块划分在 相同的指令块中;
根据所述新的子序列中所述指令块,确定所述新的子序列的并行度;
其中,所述每个指令块中包括至少一条指令。
条款17:根据条款16所述装置,所述装置还用于:
当所述相邻两个指令块中都包括至少两条指令时,在所述相邻指令块之 间插入Nope块。
条款18:根据条款12-17任一项所述装置,所属装置还用于:
将所述当前子序列用指令运行图的形式表示。
条款19:根据条款13-17任一项所述装置,所述插入额外指令模块还用 于:
若当前新的子序列的并行度小于上一新的子序列的并行度,则根据所述 当前新的子序列中插入指令的运动方向,继续获取下一新的子序列,直至所 述新的子序列的并行度符合所述第二预设并行度;
若当前新的子序列的并行度大于或者等于上一新的子序列的并行度,则 根据所述当前新的子序列中所述额外指令的运动方向及预设接受概率,继续 获取下一新的子序列,直至所述新的子序列的并行度符合所述第二预设并行 度。
条款20:根据条款15所述装置,所述插入额外指令模块还用于:
若在后指令块中的指令数量大于所述额外指令的运动步长时,则将所述 在后指令块拆分为至少一个子指令块,之后执行所述根据所述子序列中额外 指令的运动步长,每次将至少一个所述子序列中的额外指令从当前位置移动 至目标位置,获得至少一个新的待处理指令序列;
在将所述额外指令从当前位置移动至目标位置后,若在预设时间段,所 述当前位置的后一指令与在先指令块中的指令访问不同的部件时,则将所述 当前位置的后一指令合并至所述在先指令块;
其中,所述在先指令块是指位于所述额外指令的当前位置之前的指令块, 所述在后指令块是指位于所述额外指令的当前位置之后的指令块。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请 的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请 的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思 想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内 容不应理解为对本申请的限制。

Claims (12)

1.一种指令处理方法,其特征在于,所述方法包括:
获取当前子序列及所述当前子序列的并行度;
判断所述当前子序列的并行度是否符合第一预设并行度;
在所述当前子序列的并行度不符合所述第一预设并行度时,在所述当前子序列中插入额外指令,得到新的子序列,并将所述新的子序列重新确定为所述当前子序列。
2.根据权利要求1所述方法,其特征在于,所述额外指令与所述当前子序列中指令之间不存在数据竞争关系。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述当前子序列中插入额外指令,得到新的子序列,并将所述新的子序列重新确定为当前子序列还包括:
至少移动一次所述额外指令的位置,获得至少一个新的子序列及所述至少一个新的子序列的并行度,确定所述至少一个新的子序列的并行度中符合第二预设并行度所对应的新的子序列,并将所述符合第二预设并行度的新的子序列作为所述当前子序列。
4.根据权利要求3所述方法,其特征在于,所述至少移动一次所述额外指令的位置,获得至少一个新的子序列,包括:
获取所述额外指令的运动区间以及运动步长;
根据所述额外指令的运动步长,每次将所述额外指令从当前位置移动至目标位置,获得至少一个新的子序列,
其中,所述当前位置和所述目标位置均位于所述额外指令的运动区间内。
5.根据权利要求3所述方法,其特征在于,所述确定新的子序列的并行度,包括:
若所述新的子序列中相邻的两个指令块中第二指令块中指令与第一指令块中至少一个指令在预设时间段内访问同一个部件,则将所述两个指令块划分在不同的指令块中;
若所述新的子序列中相邻的两个指令块中第二指令块中的指令与第一指令块中所有指令在预设时间段内访问不同的部件,则将所述两个指令块划分在相同的指令块中;
根据所述新的子序列中所述指令块,确定所述新的子序列的并行度;
其中,所述每个指令块中包括至少一条指令。
6.根据权利要求5所述方法,其特征在于,所述方法还包括:
当所述相邻两个指令块中都包括至少两条指令时,在所述相邻指令块之间插入Nope块。
7.根据权利要求1-6任一项所述方法,其特征在于,所述方法还包括:
将所述当前子序列用指令运行图的形式表示。
8.根据权利要求3-6任一项所述方法,其特征在于,所述确定所述至少一个新的子序列的并行度中符合第二预设并行度所对应的新的子序列,包括:
若当前新的子序列的并行度小于上一新的子序列的并行度,则根据所述当前新的子序列中插入指令的运动方向,继续获取下一新的子序列,直至所述新的子序列的并行度符合所述第二预设并行度;
若当前新的子序列的并行度大于或者等于上一新的子序列的并行度,则根据所述当前新的子序列中所述额外指令的运动方向及预设接受概率,继续获取下一新的子序列,直至所述新的子序列的并行度符合所述第二预设并行度。
9.根据权利要求4所述方法,其特征在于,所述将所述额外指令从当前位置移至目标位置,包括:
若在后指令块中的指令数量大于所述额外指令的运动步长时,则将所述在后指令块拆分为至少一个子指令块,之后执行所述根据所述子序列中额外指令的运动步长,每次将至少一个所述子序列中的额外指令从当前位置移动至目标位置,获得至少一个新的待处理指令序列;
在将所述额外指令从当前位置移动至目标位置后,若在预设时间段,所述当前位置的后一指令与在先指令块中的指令访问不同的部件时,则将所述当前位置的后一指令合并至所述在先指令块;
其中,所述在先指令块是指位于所述额外指令的当前位置之前的指令块,所述在后指令块是指位于所述额外指令的当前位置之后的指令块。
10.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-9任一项所述的方法的步骤。
11.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有能够被处理器执行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-9任一项所述的方法的步骤。
12.一种指令处理装置,其特征在于,所述处理装置包括:
指令获取模块,用于获取当前子序列及其并行度信息;
判断模块,用于将所述当前子序列的并行度与第一预设并行度进行比较;
插入额外指令模块,用于当所述当前子序列的并行度不符合所述第一预设并行度时,在所述当前子序列中插入额外指令,得到新的子序列,并将所述新的子序列重新确定为所述当前子序列。
CN201910864066.8A 2019-09-12 2019-09-12 指令处理方法、装置及相关产品 Active CN110795903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910864066.8A CN110795903B (zh) 2019-09-12 2019-09-12 指令处理方法、装置及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910864066.8A CN110795903B (zh) 2019-09-12 2019-09-12 指令处理方法、装置及相关产品

Publications (2)

Publication Number Publication Date
CN110795903A true CN110795903A (zh) 2020-02-14
CN110795903B CN110795903B (zh) 2023-08-15

Family

ID=69427355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910864066.8A Active CN110795903B (zh) 2019-09-12 2019-09-12 指令处理方法、装置及相关产品

Country Status (1)

Country Link
CN (1) CN110795903B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713012A (en) * 1993-01-20 1998-01-27 Hitachi, Ltd. Microprocessor
US20060005179A1 (en) * 2004-06-30 2006-01-05 Nec Corporation Program parallelizing apparatus, program parallelizing method, and program parallelizing program
US20060004996A1 (en) * 2004-04-23 2006-01-05 Gonion Jeffry E Macroscalar processor architecture
CN101344843A (zh) * 2007-07-10 2009-01-14 北京简约纳电子有限公司 一种指令级并行处理方法
CN101369223A (zh) * 2007-08-17 2009-02-18 上海奇码数字信息有限公司 指令编码方法和处理器
CN109740747A (zh) * 2018-12-29 2019-05-10 北京中科寒武纪科技有限公司 运算方法、装置及相关产品
CN110059390A (zh) * 2019-04-10 2019-07-26 北京中科寒武纪科技有限公司 待测器件验证装置及相关产品

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713012A (en) * 1993-01-20 1998-01-27 Hitachi, Ltd. Microprocessor
US20060004996A1 (en) * 2004-04-23 2006-01-05 Gonion Jeffry E Macroscalar processor architecture
US20060005179A1 (en) * 2004-06-30 2006-01-05 Nec Corporation Program parallelizing apparatus, program parallelizing method, and program parallelizing program
CN101344843A (zh) * 2007-07-10 2009-01-14 北京简约纳电子有限公司 一种指令级并行处理方法
CN101369223A (zh) * 2007-08-17 2009-02-18 上海奇码数字信息有限公司 指令编码方法和处理器
CN109740747A (zh) * 2018-12-29 2019-05-10 北京中科寒武纪科技有限公司 运算方法、装置及相关产品
CN110059390A (zh) * 2019-04-10 2019-07-26 北京中科寒武纪科技有限公司 待测器件验证装置及相关产品

Also Published As

Publication number Publication date
CN110795903B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
US10013628B2 (en) Information processing apparatus and information processing method
CN106557521B (zh) 对象索引方法、对象搜索方法及对象索引系统
US11386876B2 (en) Method for extracting big beat information from music beat points, storage medium and terminal
JP6245330B2 (ja) 対象分割方法、対象分割装置及び対象分割プログラム
WO2012025837A2 (en) Adaptive processing for sequence alignment
CN110491442A (zh) 单细胞miRNA调控网络的识别方法、装置、设备及存储介质
CN111178394A (zh) 一种基于自适应图像信息熵的特征点提取方法
CN110543279B (zh) 一种数据存储、处理方法、装置及系统
CN110795903B (zh) 指令处理方法、装置及相关产品
CN111222558B (zh) 图像处理方法及存储介质
CN112734827A (zh) 一种目标检测方法、装置、电子设备和存储介质
CN112416301A (zh) 深度学习模型开发方法及装置、计算机可读存储介质
CN110737471B (zh) 指令处理方法、装置及相关产品
CN112416709B (zh) 芯片动态功耗估计方法、装置、处理器芯片及服务器
CN112270384B (zh) 一种回环检测方法、装置及电子设备和存储介质
CN113591939A (zh) 图层分类的方法及装置
JP4768358B2 (ja) 画像検索方法
CN111325343A (zh) 神经网络的确定、目标检测、智能行驶控制方法及装置
CN111831405B (zh) 一种数据处理方法、逻辑芯片及其设备
CN107798338B (zh) 一种大数据密集支撑点快速选取方法
US10362553B2 (en) Determining location of wireless-enabled device
CN117611600B (zh) 一种图像分割方法、系统、存储介质及设备
CN111984812B (zh) 一种特征提取模型生成方法、图像检索方法、装置及设备
JP7088665B2 (ja) 検索装置、検索方法および検索プログラム
JP7091055B2 (ja) 検索装置、検索方法および検索プログラム

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
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co.,Ltd.

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant