CN107851022A - 向量长度查询指令 - Google Patents

向量长度查询指令 Download PDF

Info

Publication number
CN107851022A
CN107851022A CN201680044118.1A CN201680044118A CN107851022A CN 107851022 A CN107851022 A CN 107851022A CN 201680044118 A CN201680044118 A CN 201680044118A CN 107851022 A CN107851022 A CN 107851022A
Authority
CN
China
Prior art keywords
vector
scale
value
equipment
query statement
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
CN201680044118.1A
Other languages
English (en)
Other versions
CN107851022B (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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN107851022A publication Critical patent/CN107851022A/zh
Application granted granted Critical
Publication of CN107851022B publication Critical patent/CN107851022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory

Abstract

公开了支持向量处理操作的数据处理系统2,该数据处理系统2使用缩放向量长度查询指令。缩放向量长度查询指令返回取决于向量中的元素数量乘以缩放值的结果,该向量中的元素数量是针对由指令指定的可变向量元素大小的,并且该缩放值由指令指定。缩放向量长度查询指令可具有计数指令、递增指令或递减指令形式。指令可以包括模式约束,该模式约束对部分结果值应用约束(例如,以M为模或2的幂),该部分结果值表示针对指令指定的寄存器元素大小而提供的向量元素数量。

Description

向量长度查询指令
技术领域
本公开涉及数据处理系统领域。更具体地,本公开涉及支持向量处理的数据处理系统。
背景技术
已知提供支持处理向量操作数的数据处理系统,向量操作数包括多个向量元素。向量寄存器内的位数量通常由相关处理器架构定义。向量寄存器中的位数量可以在不同大小的向量元素之间划分,从而使得给定向量寄存器提供不同数量的向量元素。
发明内容
根据本公开的至少一些实施例,提供一种用于处理数据的设备,该设备包括处理电路,用于执行向量处理操作;以及解码器电路,用于解码程序指令来生成控制信号,从而控制所述处理电路来执行所述向量处理操作;其中所述解码器电路响应于缩放向量长度查询指令,控制所述处理电路来返回取决于向量长度乘以缩放值的结果值,该向量长度由所述设备在执行所述向量处理操作时使用,并且该缩放值由所述缩放向量长度查询指令指定。
根据本公开的至少一些实施例,提供一种用于处理数据的设备,该设备包括用于执行向量处理操作的处理装置;及用于解码程序指令来生成控制信号从而控制所述处理电路来执行所述向量处理操作的解码器装置;其中所述解码器装置响应于缩放向量长度查询指令,控制所述处理装置来返回取决于向量长度乘以缩放值的结果值,该向量长度由所述设备在执行所述向量处理操作时使用,并且该缩放值由所述缩放向量长度查询指令指定。
根据本公开的至少一些实施例,提供一种处理数据的方法,该方法包括解码缩放向量长度查询指令,从而控制处理电路来返回取决于向量长度乘以缩放值的结果值,该向量长度在执行向量处理操作时使用,并且该缩放值由所述缩放向量长度查询指令指定。
附图说明
下面将通过示例的方式参考附图来描述示例实施例,其中:
图1示意地示出了支持向量处理的数据处理系统;
图2示意地示出了多个不同形式的缩放向量长度查询指令;
图3示意地示出了图2中不同类型的缩放向量长度查询指令的特性的示例;
图4示意地示出了用于响应于缩放向量长度查询指令来创建结果值的查找表实现方式;
图5是示意地示出缩放向量长度查询指令的特性的流程图;并且
图6示意地示出了虚拟机实现方式。
具体实施方式
图1示意地示出了数据处理系统2,该数据处理系统包括处理器4,该处理器4耦合至存储器6,该存储器6存储数据值8及程序指令10。处理器4包括指令提取单元12,用于从存储器6提取程序指令10并向解码器电路14供应提取程序指令。解码器电路14解码所提取的程序指令且生成控制信号16以控制向量处理电路18,从而对存储在向量寄存器电路20内的向量寄存器执行向量处理操作,该操作如解码的向量指令所指定。将了解,实际上,处理器4将通常包括更多电路元件,且附图中已省略这些电路元件。
图1还示意地示出了示例性向量寄存器Zi,在此示例中,该向量寄存器具有256的向量位大小。向量寄存器Zi由16个向量元素a0-a15形成。这些向量元素中的每一个具有16位的向量位大小,因此,向量寄存器Zi内的向量元素数量是16。向量元素大小是可以由被解码的向量指令指定的变量。例如,向量指令可以经编码以指定向量元素为字节、半字、字或双字(分别为8、16、32、64位)。依据向量元素位大小,向量寄存器Zi内的向量元素数量将改变。由此,对于由256位形成的向量寄存器Zi而言,可以支持十六个16位向量元素、八个32位向量元素或四个64位向量元素。
处理器4的给定实现方式将包括向量寄存器电路20,该向量寄存器电路20支持给定位大小的向量寄存器Zi。然而,使用相同指令集架构的处理器4的不同实现方式可以支持不同大小的向量寄存器,例如512位、384位、1024位等等。
作为使能包括向量指令的程序代码以适用于提供不同大小的向量寄存器Zi而无需任何或显著修改的向量寄存器电路20的方式,提供有一个或多个缩放向量长度查询指令。这些缩放向量长度查询指令返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由缩放向量长度查询指令指定的可变向量元素大小(例如,字节、半字、字或双字)的,该缩放值由缩放向量长度查询指令指定。这类缩放向量长度查询指令能够返回结果,该结果可考虑实现方式的特定向量寄存器大小,并且还考虑可以由正在实现的向量码提供的程序回路滚动(loop rolling)的程度。缩放值可以以恒定整数值的形式提供,该恒定整数值编码在缩放向量长度查询指令内(例如,指令内的立即值(immediatevalue))。
图2示意地示出了多种不同形式的缩放向量长度查询指令。具体而言,向量长度查询指令的类型可以是计数指令、递增指令或递减指令。也可能存在作为缩放向量长度查询指令的更多类型的指令。缩放向量长度查询指令还指定向量元素大小,结果值将针对该向量元素大小被决定。因此,向量元素大小可为字节B、半字H、字W或双字D。缩放向量长度查询指令还指定纯量(scalar)寄存器Xd,该纯量寄存器可充当对于指令的输入操作数值的来源,并充当待写入的结果值目的地。
图2中示出的缩放向量长度查询指令内最终两个参数是指定模式约束的字段,根据该模式约束可以指定由处理设备所使用的向量长度,并且依据该向量长度来返回缩放向量长度查询指令的结果值。向量模式约束可采用多种不同形式。约束可以是例如设备提供的最大值是指定值M的倍数,例如向量元素数量的值被约束为值M的倍数(以M为模)。约束模式的另一示例是针对支持的向量元素数量所返回的最大值应约束为2的幂,例如2、4、8、16、32等等。约束模式的另一示例是不对超出向量寄存器Zi的物理大小的支持的元素数量的最大值应用约束。因此,如果向量寄存器长度是256位,且元素大小是16位,则以此方式利用“All”约束,将基于向量元素数量为16返回结果值。
由缩放向量长度查询指令指定的最终参数是缩放值。该缩放值可以是自身具有立即值的缩放向量长度查询指令内编码的恒定整数值。虽然该缩放值可以具有多种值,但是已发现1至8(包括1和8)范围中的缩放值能够支持大部分程度的回路展开(loopunrolling),该回路展开通常在保存用于编码缩放向量长度查询指令的指令位空间时被发现。
图3示意地示出了结果值,这些结果值可以被返回以用于某些示例性缩放向量长度查询指令。示出的列是向量位大小(即,向量寄存器Zi的位大小)、向量元素位大小(例如,字节、半字、字、双字)、向量模式约束(例如,A、以M为模、2的幂,等等)、缩放值(例如,指令自身内编码的恒定值,范围自1至8(包括1和8))、以及指令类型(例如,计数、递增、递减)。针对计数指令,输入值可以被视为“0”,并且在递增及递减指令的情况下,输入值可以是输入寄存器Xd所提供的值。
考虑图3中示出的第一行,该行指定向量位大小128。向量元素位大小为8。因此,无约束的最大向量元素计数为16。该行的模式约束是“All”,且相应地这对应于无约束模式。第一行的缩放是“1”,且因此结果不由缩放改变。指令类型是计数,且因此提供向量寄存器内具有字节大小的向量元素的数量的简单计数且该计数等于16。
更复杂的示例在第五行给出。在该情况中,向量位大小是256,且向量元素位大小是32。这指示所支持的向量元素的无约束数量为8。然而,模式约束是应为支持数量的向量元素数量应为3的倍数。因此,模式约束将被视作所支持的最大值的向量元素数量减少为6。第五行的缩放值是2,且指令类型是计数,且由此结果值是模式约束的结果的两倍,即,12。
又一示例在第十行中给出。在该行中,向量位大小是384,且向量元素位大小是16。这可以指示向量寄存器支持的原始向量元素数量为24。然而,该行中应用的模式约束是所支持的向量计数应为2的幂,且由此所支持的位大小为16的向量元素最大数量被视作16。应用缩放因子2。因此,经缩放后的部分结果值是32。指令类型是递增类型缩放向量长度查询指令,且保持在纯量寄存器Xd内的对于递增的输入值是48。此生成结果值(递增后的值)80。
当缩放向量长度查询指令是缩放计数指令时,则指令返回计数值,该计数值取决于所支持的元素数量乘以缩放值。当缩放向量长度查询指令是缩放递增指令时,则指令返回递增结果值,该结果值取决于要递增的输入值(通过基于向量位大小、向量元素位大小、模式约束及缩放值确定的值来递增)。以类似方式,当缩放向量长度查询指令是缩放递减指令时,则此指令返回递减结果值,该递减结果值取决于要递减的输入值。
图4示出了用于响应于缩放向量长度查询指令而确定结果值的电路的示例性实现方式。该实现方式具有查找表的形式,该表包括表地址解码器22,该解码器索引至结果值表24中。供应来自缩放向量长度查询指令的参数(字段)作为到表解码器22的输入。这些字段包括元素大小(2位)、应用的约束模式(5位)、及应用的缩放值(3位)。表地址解码器22针对特定实现方式(即,针对实现的特定向量长度)具有固定形式。表地址解码器22响应于供应至其的输入信号而生成1-hot输出,以从结果值表24中选择结果值,如果缩放向量长度查询指令分别是缩放递增指令或缩放递减指令,则该结果值随后被供应至递增电路或递减电路(加法器或减法器)。
图5是示意地示出处理缩放向量长度查询指令的逻辑流程的流程图。将理解,实际上,这类处理通常同时执行,且图5中示出的个别步骤实际上可以同时执行。在步骤26中,处理等待直至收到缩放向量长度查询指令。然后,步骤28确定与指定向量元素大小相关的向量寄存器实现方式所支持的向量元素的原始最大数量。步骤30应用缩放向量长度查询指令所指定的约束模式(如果有的话)。步骤32对通过在步骤26中应用约束模式所确定的部分结果进行缩放。如果指令类型是计数指令,则在步骤36中,将计数结果写入目的地寄存器。如果指令类型是递增,则在步骤38中,通过在步骤32中确定的递增值来递增已保持的目的地寄存器值,并且将递增后的结果写入目的地寄存器。如果在步骤34中决定指令类型是递减,则在步骤40中,通过在步骤32中计算的递减值来递减目的地寄存器值,且将结果写入目的地寄存器。
图6示出了可以使用的虚拟机实现方式。虽然前文所描述的实施例根据用于操作支持本申请相关技术的特定处理硬件的设备及方法来实现本发明,但是还可以提供硬件装置的所谓虚拟机的实现方式。这些虚拟机实现方式在主机处理器530上执行,该主机处理器530在支持虚拟机程序510的主机操作系统520上执行。通常,需要强大的处理器来提供虚拟机实现方式,该虚拟机实现方式以合理的速度执行,但该种方法在某些环境中合乎情理,如在出于兼容性或再使用原因而需要执行源于另一处理器的代码的情况下。虚拟机程序510向应用500提供应用编程接口,该接口与将由实际硬件提供的应用编程接口相同,该实际硬件是正由虚拟机程序510模型化的装置。由此,包括对上述存储器访问的控制的程序指令可通过使用虚拟机程序510而在应用500内执行,以对这些程序指令与虚拟机硬件的互动进行模型化。
尽管本文已描述特定实施例,但将了解,本发明并非限定于这些实施例,且可在本发明的范围内进行各种修改及添加。例如,可在不背离本发明的范围的前提下,以下从属权利要求的特征可与独立权利要求的特征进行多种组合。

Claims (15)

1.一种用于处理数据的设备,所述设备包括:
处理电路,用于执行向量处理操作;以及
解码器电路,用于解码程序指令来生成控制信号从而控制所述处理电路来执行所述向量处理操作;其中
所述解码器电路响应于缩放向量长度查询指令,控制所述处理电路来返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由所述缩放向量长度查询指令指定的可变向量元素大小的,并且该缩放值由所述缩放向量长度查询指令指定。
2.如权利要求1所述的设备,其中,所述缩放值是所述缩放向量长度查询指令内编码的恒定整数值。
3.如权利要求1所述的设备,其中,所述缩放值处于从1延伸到8的范围中,该范围包括1和8。
4.如权利要求1所述的设备,其中,所述向量元素大小选自8位、16位、32位及64位中的一个。
5.如权利要求1所述的设备,其中,所述缩放向量长度查询指令包括一个或多个其他参数,且由所述处理电路返回的所述结果值取决于所述一个或多个其他参数。
6.如权利要求5所述的设备,其中,所述一个或多个其他参数包括向量模式约束,根据所述向量模式约束来确定由所述设备使用的所述向量长度。
7.如权利要求6所述的设备,其中,所述向量模式约束指定所述元素数量是以下中的一个:
由所述设备提供的最大值,该最大值还是指定值M的一数;
由所述设备提供的最大值,该最大值还是2的幂;以及
由所述设备提供的最大值。
8.如权利要求1所述的设备,其中,所述缩放向量长度查询指令是缩放计数指令,该缩放计数指令返回计数结果值,该计数结果值取决于所述元素数量乘以所述缩放值。
9.如权利要求1所述的设备,其中,所述缩放向量长度查询指令是缩放递增指令,该缩放递增指令返回递增结果值,该递增结果值取决于要递增的输入值。
10.如权利要求1所述的设备,其中,所述缩放向量长度查询指令是缩放递减指令,该缩放递减指令返回递减结果值,该递减结果值取决于要递减的输入值。
11.如权利要求1所述的设备,其中,所述向量处理电路包括查找表,该查找表基于所述缩放值被寻址以至少部分地确定所述结果值。
12.如权利要求5所述的设备,其中,所述查找表基于所述一个或多个其他参数被寻址。
13.一种用于处理数据的设备,所述设备包括:
用于执行向量处理操作的处理装置;及
用于解码程序指令来生成控制信号从而控制所述处理电路来执行所述向量处理操作的解码装置;其中
所述解码器装置响应于缩放向量长度查询指令,控制所述处理装置来返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由所述缩放向量长度查询指令指定的可变向量元素大小的,并且该缩放值由所述缩放向量长度查询指令指定。
14.一种处理数据的方法,所述方法包括:
解码缩放向量长度查询指令,从而控制处理电路来返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由所述缩放向量长度查询指令指定的可变向量元素大小的,并且该缩放值由所述缩放向量长度查询指令指定。
15.一种存储在非暂态存储介质上的计算机程序,该计算机程序用于控制计算机以提供虚拟机执行环境,该执行环境对应于如权利要求1所述的设备。
CN201680044118.1A 2015-07-31 2016-06-23 向量长度查询指令 Active CN107851022B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15386026.7 2015-07-31
EP15386026.7A EP3125109B1 (en) 2015-07-31 2015-07-31 Vector length querying instruction
PCT/EP2016/064500 WO2017021055A1 (en) 2015-07-31 2016-06-23 Vector length querying instruction

Publications (2)

Publication Number Publication Date
CN107851022A true CN107851022A (zh) 2018-03-27
CN107851022B CN107851022B (zh) 2022-05-17

Family

ID=54140382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680044118.1A Active CN107851022B (zh) 2015-07-31 2016-06-23 向量长度查询指令

Country Status (8)

Country Link
US (1) US11314514B2 (zh)
EP (1) EP3125109B1 (zh)
JP (1) JP6818010B2 (zh)
KR (1) KR102586258B1 (zh)
CN (1) CN107851022B (zh)
IL (1) IL256403B (zh)
TW (1) TWI721999B (zh)
WO (1) WO2017021055A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046168A1 (en) * 2015-08-14 2017-02-16 Qualcomm Incorporated Scalable single-instruction-multiple-data instructions
US11269636B2 (en) * 2019-05-27 2022-03-08 Texas Instmments Incorporated Look-up table write
CN110333857B (zh) * 2019-07-12 2023-03-14 辽宁工程技术大学 一种基于约束规划的自定义指令自动识别方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0205809A2 (en) * 1985-06-17 1986-12-30 International Business Machines Corporation Vector processing
CN101535945A (zh) * 2006-04-25 2009-09-16 英孚威尔公司 全文查询和搜索系统及其使用方法
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
US20110145543A1 (en) * 2009-12-15 2011-06-16 Sun Microsystems, Inc. Execution of variable width vector processing instructions
CN103020018A (zh) * 2012-12-27 2013-04-03 南京师范大学 一种基于多维伪随机序列的压缩感知矩阵构造方法
CN103105775A (zh) * 2012-12-17 2013-05-15 清华大学 基于序优化与在线核极限学习机的分层迭代优化调度方法
WO2013086380A1 (en) * 2011-12-08 2013-06-13 Oracle International Corporation Techniques for more efficient usage of memory - to - cpu bandwidth
US20140289502A1 (en) * 2013-03-19 2014-09-25 Apple Inc. Enhanced vector true/false predicate-generating instructions

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6133547A (ja) 1984-07-25 1986-02-17 Fujitsu Ltd ベクトル・レジスタのオ−バフロ−情報通知方式
US5537606A (en) * 1995-01-31 1996-07-16 International Business Machines Corporation Scalar pipeline replication for parallel vector element processing
NO20004869D0 (no) * 2000-09-28 2000-09-28 Torbjoern Rognes Metode for hurtig optimal lokal sekvensjustering ved bruk av parallell prosessering
US6788303B2 (en) * 2001-02-27 2004-09-07 3Dlabs Inc., Ltd Vector instruction set
US20040073773A1 (en) * 2002-02-06 2004-04-15 Victor Demjanenko Vector processor architecture and methods performed therein
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8966223B2 (en) * 2005-05-05 2015-02-24 Icera, Inc. Apparatus and method for configurable processing
US7725624B2 (en) 2005-12-30 2010-05-25 Intel Corporation System and method for cryptography processing units and multiplier
GB2464292A (en) 2008-10-08 2010-04-14 Advanced Risc Mach Ltd SIMD processor circuit for performing iterative SIMD multiply-accumulate operations
US10175990B2 (en) * 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
JP5699554B2 (ja) * 2010-11-11 2015-04-15 富士通株式会社 ベクトル処理回路、命令発行制御方法、及びプロセッサシステム
US9092227B2 (en) * 2011-05-02 2015-07-28 Anindya SAHA Vector slot processor execution unit for high speed streaming inputs
CN104011651B (zh) * 2011-12-22 2017-10-20 英特尔公司 用于执行向量计算指令的方法、装置和系统
US9557993B2 (en) * 2012-10-23 2017-01-31 Analog Devices Global Processor architecture and method for simplifying programming single instruction, multiple data within a register
US20140189310A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Fault detection in instruction translations
US9282014B2 (en) * 2013-01-23 2016-03-08 International Business Machines Corporation Server restart management via stability time
US10437600B1 (en) * 2017-05-02 2019-10-08 Ambarella, Inc. Memory hierarchy to transfer vector data for operators of a directed acyclic graph

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0205809A2 (en) * 1985-06-17 1986-12-30 International Business Machines Corporation Vector processing
CN101535945A (zh) * 2006-04-25 2009-09-16 英孚威尔公司 全文查询和搜索系统及其使用方法
US20110145543A1 (en) * 2009-12-15 2011-06-16 Sun Microsystems, Inc. Execution of variable width vector processing instructions
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
WO2013086380A1 (en) * 2011-12-08 2013-06-13 Oracle International Corporation Techniques for more efficient usage of memory - to - cpu bandwidth
CN103105775A (zh) * 2012-12-17 2013-05-15 清华大学 基于序优化与在线核极限学习机的分层迭代优化调度方法
CN103020018A (zh) * 2012-12-27 2013-04-03 南京师范大学 一种基于多维伪随机序列的压缩感知矩阵构造方法
US20140289502A1 (en) * 2013-03-19 2014-09-25 Apple Inc. Enhanced vector true/false predicate-generating instructions

Also Published As

Publication number Publication date
KR20180037961A (ko) 2018-04-13
US11314514B2 (en) 2022-04-26
IL256403B (en) 2019-08-29
JP6818010B2 (ja) 2021-01-20
JP2018521422A (ja) 2018-08-02
CN107851022B (zh) 2022-05-17
WO2017021055A1 (en) 2017-02-09
TW201717051A (zh) 2017-05-16
KR102586258B1 (ko) 2023-10-10
EP3125109A1 (en) 2017-02-01
IL256403A (en) 2018-02-28
US20180196673A1 (en) 2018-07-12
TWI721999B (zh) 2021-03-21
EP3125109B1 (en) 2019-02-20

Similar Documents

Publication Publication Date Title
US11630800B2 (en) Programmable vision accelerator
KR102304216B1 (ko) 벡터 계산 장치
KR20140001910A (ko) 데이터 처리장치 및 방법
US20160378568A1 (en) Scriptable Dynamic Load Balancing in Computer Systems
US10600142B2 (en) Compression and decompression of indices in a graphics pipeline
CN107851022A (zh) 向量长度查询指令
JP2012119009A5 (ja) 選択演算を実行するプロセッサ
CN110058886A (zh) 用于计算两个区块操作数中的半字节的数量积的系统和方法
US9685977B1 (en) Time series data compressing apparatus
US9378017B2 (en) Apparatus and method of efficient vector roll operation
KR20150117522A (ko) 그래픽스 상태 관리 장치 및 방법
JP2010287110A (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
JP2017084081A (ja) 磁性体シミュレーション装置、マイクロ磁化算出方法及びプログラム
CN110914801B (zh) 在数据处理设备中的向量交叉
CN109992301A (zh) 用于向量广播的系统、方法和装置
US7945757B1 (en) Conserving and shaping address space with arrays
CN108520011B (zh) 一种确定任务的执行方案的方法及装置
GB2617829A (en) Technique for handling data elements stored in an array storage
WO2023199014A1 (en) Technique for handling data elements stored in an array storage
CN117892685A (zh) 一种用于eda验证的数据处理方法、装置和介质
CN107580700B (zh) 一种生成地址的方法及数据处理设备
KR20240027144A (ko) 서술 기법들
US9928644B2 (en) Method and apparatus for determining mutual intersection of multiple convex shapes
CN105404588B (zh) 处理器和其中生成数据存储操作的一个或多个地址的方法
KR101513009B1 (ko) 폰트 자동 생성 시스템 및 방법

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
GR01 Patent grant
GR01 Patent grant