CN113767371B - 用于高性能向量处理的地址生成的方法 - Google Patents

用于高性能向量处理的地址生成的方法 Download PDF

Info

Publication number
CN113767371B
CN113767371B CN202080032336.XA CN202080032336A CN113767371B CN 113767371 B CN113767371 B CN 113767371B CN 202080032336 A CN202080032336 A CN 202080032336A CN 113767371 B CN113767371 B CN 113767371B
Authority
CN
China
Prior art keywords
vector
binary data
memory
memory banks
log
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.)
Active
Application number
CN202080032336.XA
Other languages
English (en)
Chinese (zh)
Other versions
CN113767371A (zh
Inventor
J.范伦特伦
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN113767371A publication Critical patent/CN113767371A/zh
Application granted granted Critical
Publication of CN113767371B publication Critical patent/CN113767371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30029Logical and Boolean instructions, e.g. XOR, NOT
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Memory System (AREA)
CN202080032336.XA 2019-05-10 2020-05-01 用于高性能向量处理的地址生成的方法 Active CN113767371B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/408,575 2019-05-10
US16/408,575 US10996949B2 (en) 2019-05-10 2019-05-10 Address generation for high-performance vector processing
PCT/IB2020/054137 WO2020229933A1 (en) 2019-05-10 2020-05-01 Address generation for high-performance vector processing

Publications (2)

Publication Number Publication Date
CN113767371A CN113767371A (zh) 2021-12-07
CN113767371B true CN113767371B (zh) 2023-04-14

Family

ID=73045791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080032336.XA Active CN113767371B (zh) 2019-05-10 2020-05-01 用于高性能向量处理的地址生成的方法

Country Status (6)

Country Link
US (1) US10996949B2 (https=)
JP (1) JP7386901B2 (https=)
CN (1) CN113767371B (https=)
DE (1) DE112020000748B4 (https=)
GB (1) GB2598250B (https=)
WO (1) WO2020229933A1 (https=)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201907382D0 (en) * 2019-05-24 2019-07-10 Univ Southampton Computer-implemented method for creating encoded data for use in a cognitive computing system, as well as cognitive processing unit and cognitive computing
US11435941B1 (en) * 2020-06-24 2022-09-06 Amazon Technologies, Inc. Matrix transpose hardware acceleration
US11636569B1 (en) * 2020-09-23 2023-04-25 Amazon Technologies, Inc. Matrix transpose hardware acceleration
US20220129270A1 (en) * 2020-10-23 2022-04-28 Marvell Asia Pte Ltd Method and system for topk operation
CN114327639B (zh) * 2021-12-29 2025-07-22 深圳鲲云信息科技有限公司 基于数据流架构的加速器、加速器的数据存取方法及设备
CN115422098B (zh) * 2022-02-15 2023-08-29 摩尔线程智能科技(北京)有限责任公司 基于扩展页表的gpu访存自适应优化方法及装置
FR3133459B1 (fr) * 2022-03-11 2024-03-22 Commissariat Energie Atomique Générateur d’adresses pour un calculateur à architecture de type « instruction unique, données multiples »
JP2023154162A (ja) * 2022-04-06 2023-10-19 国立大学法人九州工業大学 演算処理装置
CN115148272B (zh) * 2022-06-30 2025-05-16 长鑫存储技术有限公司 存储器地址确定方法与电子设备
CN116089323A (zh) * 2023-02-24 2023-05-09 北京信而泰科技股份有限公司 表项生成方法及装置
CN116910770B (zh) * 2023-09-13 2023-12-19 中国海洋大学 一种基于密度的固件基址识别系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276902A (en) * 1988-11-07 1994-01-04 Fujitsu Limited Memory access system for vector data processed or to be processed by a vector processor
CN101644995A (zh) * 2008-08-05 2010-02-10 晶天电子(深圳)有限公司 多层控制多闪存装置、存储装置和数据分割固态硬盘
CN101645005A (zh) * 2008-08-06 2010-02-10 中国人民解放军信息工程大学 基于多维可变描述表的处理器结构与指令系统表示方法
CN103365631A (zh) * 2012-04-05 2013-10-23 辉达公司 用于存储器访问的动态库模式寻址

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769896B2 (ja) * 1988-11-07 1995-07-31 富士通株式会社 ベクトル処理システム
JP4240610B2 (ja) * 1998-11-27 2009-03-18 株式会社日立製作所 計算機システム
US6604166B1 (en) 1998-12-30 2003-08-05 Silicon Automation Systems Limited Memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array
US6453380B1 (en) * 1999-01-23 2002-09-17 International Business Machines Corporation Address mapping for configurable memory system
US6430672B1 (en) * 2000-07-17 2002-08-06 International Business Machines Corporation Method for performing address mapping using two lookup tables
CN101069211A (zh) 2004-11-23 2007-11-07 高效存储技术公司 分页存储器及其智能存储器区段的交错寻址的多次缩略的方法和装置
US7398362B1 (en) * 2005-12-09 2008-07-08 Advanced Micro Devices, Inc. Programmable interleaving in multiple-bank memories
US8397010B1 (en) * 2007-04-16 2013-03-12 Juniper Networks, Inc. Convenient, flexible, and efficient management of memory space and bandwidth
US7793038B2 (en) 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US9268691B2 (en) * 2012-06-11 2016-02-23 Intel Corporation Fast mechanism for accessing 2n±1 interleaved memory system
US9705532B2 (en) 2013-03-15 2017-07-11 Arris Enterprises Llc Parallel low-density parity check (LDPC) accumulation
US9582420B2 (en) * 2015-03-18 2017-02-28 International Business Machines Corporation Programmable memory mapping scheme with interleave properties
CN104699465B (zh) 2015-03-26 2017-05-24 中国人民解放军国防科学技术大学 向量处理器中支持simt的向量访存装置和控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276902A (en) * 1988-11-07 1994-01-04 Fujitsu Limited Memory access system for vector data processed or to be processed by a vector processor
CN101644995A (zh) * 2008-08-05 2010-02-10 晶天电子(深圳)有限公司 多层控制多闪存装置、存储装置和数据分割固态硬盘
CN101645005A (zh) * 2008-08-06 2010-02-10 中国人民解放军信息工程大学 基于多维可变描述表的处理器结构与指令系统表示方法
CN103365631A (zh) * 2012-04-05 2013-10-23 辉达公司 用于存储器访问的动态库模式寻址

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种高效的面向基2 FFT算法的SIMD并行存储结构;陈海燕等;《电子学报》;20160215(第02期);全文 *

Also Published As

Publication number Publication date
CN113767371A (zh) 2021-12-07
GB2598250A (en) 2022-02-23
US20200356367A1 (en) 2020-11-12
WO2020229933A1 (en) 2020-11-19
GB202117077D0 (en) 2022-01-12
JP2022531786A (ja) 2022-07-11
DE112020000748T5 (de) 2021-10-28
US10996949B2 (en) 2021-05-04
DE112020000748B4 (de) 2022-11-17
JP7386901B2 (ja) 2023-11-27
GB2598250B (en) 2022-07-06

Similar Documents

Publication Publication Date Title
CN113767371B (zh) 用于高性能向量处理的地址生成的方法
KR20230078131A (ko) 반복 배열 ntt를 이용한 동형 암호 연산 장치 및 방법
US20190034327A1 (en) Accessing prologue and epilogue data
US20200081744A1 (en) Hardware environment and method of performing matrix multiplication in artificial intelligence applications
CN110235099A (zh) 用于处理输入操作数值的装置和方法
US10942889B2 (en) Bit string accumulation in memory array periphery
Khan et al. Brain-inspired cognition in next-generation racetrack memories
US20190377707A1 (en) Bit-serial linear algebra processor
JP7748789B2 (ja) 畳み込みニューラル・ネットワーク実行のための活性化のメモリ・マッピング
CN117573069A (zh) Cordic算法芯片
US11941371B2 (en) Bit string accumulation
US10942890B2 (en) Bit string accumulation in memory array periphery
US11487699B2 (en) Processing of universal number bit strings accumulated in memory array periphery
CN113495716A (zh) 假定张量处理
TWI901217B (zh) 以記憶體內計算執行浮點乘積累加運算的電路及方法
KR102440692B1 (ko) 메모리 어레이 주변부에서의 비트 스트링의 누산
US12574204B2 (en) Highly-parallel hardware architecture for fully homomorphic encryption (FHE) and butterfly-like algorithms
US20250306858A1 (en) Matrix transpose unit of a semiconductor device and methods of manufacture thereof
CN113536221B (zh) 运算方法、处理器以及相关产品
KR102407166B1 (ko) 호스트 기반 비트 스트링 변환
KR20250106241A (ko) 컴퓨트-인-메모리 디바이스들 및 이를 작동하기 위한 방법들
Nejatollahi et al. Cryptopim: In-memory acceleration for rlwe lattice-based cryptography
CN116400885A (zh) 用于密码学的大数硬件乘法的系统和方法
CN115878075A (zh) 计算多个值中最小值或最大值的基于优先级编码器的技术
CN119830974A (zh) 基于Tensor Core的图神经网络计算加速方法、系统、介质、电子设备

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