TWI808000B - 矩陣裝置及其操作方法 - Google Patents

矩陣裝置及其操作方法 Download PDF

Info

Publication number
TWI808000B
TWI808000B TW111135607A TW111135607A TWI808000B TW I808000 B TWI808000 B TW I808000B TW 111135607 A TW111135607 A TW 111135607A TW 111135607 A TW111135607 A TW 111135607A TW I808000 B TWI808000 B TW I808000B
Authority
TW
Taiwan
Prior art keywords
matrix
element string
memory
elements
circuit
Prior art date
Application number
TW111135607A
Other languages
English (en)
Other versions
TW202414245A (zh
Inventor
郭皇志
阮郁善
陳建文
駱子仁
Original Assignee
創鑫智慧股份有限公司
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 創鑫智慧股份有限公司 filed Critical 創鑫智慧股份有限公司
Priority to TW111135607A priority Critical patent/TWI808000B/zh
Priority to CN202211274537.8A priority patent/CN117786293A/zh
Priority to US17/978,989 priority patent/US20240111827A1/en
Application granted granted Critical
Publication of TWI808000B publication Critical patent/TWI808000B/zh
Publication of TW202414245A publication Critical patent/TW202414245A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Separation By Low-Temperature Treatments (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

本發明提供一種矩陣裝置及其操作方法,矩陣裝置包括轉置電路及記憶體。轉置電路用以從矩陣源接收表示原生矩陣的第一元素串,其中原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中一者被排列於第一元素串。轉置電路將第一元素串轉置為第二元素串,其中第二元素串等同於原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中另一者所排列的元素串。記憶體,耦接至轉置電路以接收第二元素串。

Description

矩陣裝置及其操作方法
本發明是有關於一種運算裝置,且特別是有關於一種針對矩陣運算的矩陣裝置及其操作方法。
矩陣相乘是計算機系統中的基礎運算。在運算電路完成一個先前矩陣運算後,矩陣(運算結果)的不同元素會依照所述先前矩陣運算的元素產生順序依序寫入至隨機動態記憶體(dynamic random access memory,DRAM)中。舉例來說,矩陣可能會以行為主(column major)或以列為主(row major)被存放至DRAM中。然而,在DRAM中所述先前矩陣運算的矩陣元素的存放順序可能不利於下一個矩陣運算的取用。舉例來說,先前矩陣運算的運算結果矩陣被以行為主方式存放至DRAM中以供下一個矩陣運算使用,但是所述下一個矩陣運算的運算元(operand)矩陣的輸入方式式以列為主的方式。因此對於所述下一個矩陣運算而言,運算元矩陣的元素被離散地放置在DRAM的不同位置(不連續位址)。
當下一個矩陣運算在同一個批次中所取用的多個元素是位於DRAM的連續位址時,運算電路可以使用一個突發(burst)讀取指令從DRAM一次讀取在連續位址的這些元素。當所述下一個矩陣運算所取用的多個元素是位於DRAM的不連續位址時,運算電路須使用多個讀取指令從DRAM多次讀取這些元素。一般而言,對DRAM讀取次數正比於耗電量。如何將先前矩陣運算所產生地矩陣適配地存放在DRAM中,以讓下一個矩陣運算可以有效率地取用矩陣,是諸多重要課題之一。若在從DRAM取用矩陣的過程中能減少DRAM存取次數,則矩陣運算地效能可以有效提升,且電路功耗可以有效降低。
本發明提供一種矩陣裝置及其操作方法,以提升效能。
本發明提供一種矩陣裝置,包括轉置電路及記憶體。轉置電路用以從矩陣源接收表示原生矩陣的第一元素串,以及將第一元素串轉置為第二元素串,其中原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中一者被排列於第一元素串,以及第二元素串等同於原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中另一者所排列的一元素串。記憶體,耦接至轉置電路以接收第二元素串。
在本發明的一實施例中,上述的矩陣裝置可用於操作方法,包括:由矩陣裝置的一轉置電路從一矩陣源接收表示一原生矩陣的一第一元素串;由轉置電路將第一元素串轉置為一第二元素串,其中原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中一者被排列於第一元素串,以及第二元素串等同於原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中另一者所排列的一元素串;以及由矩陣裝置的一記憶體接收第二元素串。
基於上述,本發明諸實施例所述的轉置電路可以透過轉置方式使在記憶體中的元素排列方式吻合存取計算時的特性。因此,矩陣裝置的效率可以被有效提升。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。本案說明書全文(包括申請專利範圍)中提及的「第一」、「第二」等用語是用以命名元件(element)的名稱,或區別不同實施例或範圍,而並非用來限制元件數量的上限或下限,亦非用來限制元件的次序。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1是依照本發明的一實施例的一種矩陣裝置100的電路方塊(circuit block)示意圖。圖1所示矩陣裝置100包括轉置(transpose)電路110以及記憶體120。依照不同的設計需求,在一些實施例中,轉置電路110的實現方式可以是硬體(hardware)電路。在另一些實施例中,轉置電路110的實現方式可以是韌體(firmware)、軟體(software,即程式)或是前述二者的組合形式。在又一些實施例中,轉置電路110的實現方式可以是硬體、韌體、軟體中的多者的組合形式。
以硬體形式而言,上述轉置電路110可以實現於積體電路(integrated circuit)上的邏輯電路。舉例來說,轉置電路110的相關功能可以被實現於一或多個控制器、微控制器(Microcontroller)、微處理器(Microprocessor)、特殊應用積體電路(Application-specific integrated circuit,ASIC)、數位訊號處理器(digital signal processor,DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array,FPGA)及/或其他處理單元中的各種邏輯區塊、模組和電路。上述矩陣裝置、轉置電路及/或記憶體的相關功能可以利用硬體描述語言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語言來實現為硬體電路,例如積體電路中的各種邏輯區塊、模組和電路。
以軟體形式及/或韌體形式而言,上述轉置電路110的相關功能可以被實現為編程碼(programming codes)。例如,利用一般的編程語言(programming languages,例如C、C++或組合語言)或其他合適的編程語言來實現轉置電路110。所述編程碼可以被記錄/存放在「非臨時的電腦可讀取媒體(non-transitory computer readable medium)」中。在一些實施例中,所述非臨時的電腦可讀取媒體例如包括半導體記憶體以及(或是)儲存裝置。所述半導體記憶體包括記憶卡、唯讀記憶體(Read Only Memory,ROM)、快閃記憶體(FLASH memory)、可程式設計的邏輯電路或是其他半導體記憶體。所述儲存裝置包括帶(tape)、碟(disk)、硬碟(hard disk drive,HDD)、固態硬碟(Solid-state drive,SSD)或是其他儲存裝置。電子設備(例如中央處理器(Central Processing Unit,CPU)、控制器、微控制器或微處理器)可以從所述非臨時的電腦可讀取媒體中讀取並執行所述編程碼,從而實現轉置電路110的相關功能。
轉置電路110可以自矩陣源(未繪示於圖1)接收用以表示一個原生矩陣的元素串ES1。本實施利並不限制所述矩陣源。舉例來說,在一些實施例中,所述矩陣源可以包括儲存裝置、網路、矩陣乘法電路或是其他用以提供運算元(operand)矩陣的來源。在一些實施例中,所述矩陣乘法電路可以包括乘積累加器(multiply accumulate, MAC)陣列。
轉置電路110可以將元素串ES1轉置為元素串ES2。其中,一個原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中一者被排列於元素串ES1,以及元素串ES2等同於所述原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中另一者所排列的一個元素串。舉例來說,假設原生矩陣A的內容如下述等式1所示。原生矩陣A「以列為主方式」排列而成的元素串ES1的內容為{X00, X01, X10, X11}。經過轉置電路110的轉置作用後,原生矩陣A被轉置成「以行為主方式」排列而成的元素串ES2,而元素串ES2的內容為{X00, X10, X01, X11}。 等式1
記憶體120耦接至轉置電路110。轉置電路110將原生矩陣的元素串ES1經轉置後得到的元素串ES2傳送至記憶體120。依照實際設計,記憶體120可以為任意種類的記憶體。例如,在一些實施例中,記憶體120可以為靜態隨機存取記憶體(static random access memory,SRAM)、動態隨機存取記憶體(dynamic random access memory,DRAM)、磁性隨機存取記憶體(magnetic random-access memory,MRAM)、磁阻隨機存取記憶體(magnetoresistive random access memory,MRAM)、快閃(Flash)記憶體或是其他記憶體。記憶體120接收並儲存元素串ES2,作為下一個矩陣運算的運算元(operand)矩陣。
舉例來說,圖2是依照本發明的另一實施例所繪示,矩陣裝置200的電路方塊示意圖。圖2所示矩陣裝置200包括轉置電路210、記憶體220、矩陣乘法電路230以及記憶體240。圖2所示矩陣裝置200、轉置電路210與記憶體220可以參照圖1所示矩陣裝置100、轉置電路110與記憶體120的相關說明並且加以類推,故在此不再贅述。圖2所示矩陣裝置200可以作為圖1所示矩陣裝置100的諸多實施範例之一,因此圖1所示矩陣裝置100、轉置電路110與記憶體120可以參照圖2所示矩陣裝置200、轉置電路210與記憶體220的相關說明。
矩陣乘法電路230耦接至轉置電路210、記憶體220以及記憶體240。矩陣乘法電路230可以進行神經網路(neural network)計算的一個前層計算,以產生原生矩陣。矩陣乘法電路230可以作為矩陣源,以提供所述原生矩陣的元素串ES1給轉置電路210。轉置電路210可以將元素串ES1轉置為元素串ES2。記憶體220耦接至轉置電路210,以接收並儲存元素串ES2。矩陣乘法電路230可以從記憶體240讀取元素串ES3(矩陣A)作為權重矩陣(weight matrix),從記憶體220讀取元素串ES2(矩陣B)作為輸入矩陣(input matrix),以進行所述神經網路計算的下一層計算。一般而言,權重矩陣是預先訓練好的參數。
舉例來說,假設記憶體220包括動態隨機存取記憶體(DRAM)。基於轉置電路210的轉置操作,原生矩陣(所述前層計算的結果)的同一個行的所有元素可以被存放在記憶體220的多個連續位址。記憶體220以突發(burst)模式將所述原生矩陣的同一個行的所有元素提供給矩陣乘法電路230,以使矩陣乘法電路230進行神經網路計算的所述下一層計算。
本實施例並不限制矩陣乘法電路230的所述矩陣運算。在一些應用例中,所述矩陣運算可以包括矩陣加法運算、矩陣乘法運算、乘積累加(MAC)運算以及/或是其他矩陣運算。舉例來說,假設原生矩陣A的內容如上述等式1所示,而原生矩陣B的內容如下述等式2所示。兩個2x2的矩陣A、B相乘得到矩陣Z,如下述等式3所示。 等式2 等式3
矩陣乘法電路230所進行的矩陣乘法可以包括四個步驟。步驟一:矩陣乘法電路230可以從記憶體240提取矩陣A的元素[X 00, X 01],從記憶體220提取矩陣B的元素[Y 00, Y 10],以及計算X 00Y 00+ X 01Y 10。步驟二:矩陣乘法電路230可以保留矩陣A的元素[X 00, X 01],從記憶體220提取矩陣B的元素[Y 01, Y 11],以及計算X 00Y 01+ X 01Y 11。步驟三:矩陣乘法電路230可以從記憶體240提取矩陣A的元素[X 10, X 11],從記憶體220提取矩陣B的元素[Y 00, Y 10],以及計算X 10Y 00+ X 11Y 10。步驟四:矩陣乘法電路230可以保留矩陣A的元素[X 10, X 11],從記憶體220提取矩陣B的元素[Y 01, Y 11],以及計算X 10Y 01+ X 11Y 11。至此,矩陣乘法電路230可以獲得等式3所示矩陣Z。
前段所述矩陣乘法電路230所進行矩陣乘法包括四個步驟,而且對記憶體220進行了六次讀取。如果以資料再利用的原則進行計算,則矩陣乘法可以從四個步驟簡化為二個優化步驟。優化步驟一:矩陣乘法電路230可以從記憶體240提取矩陣A的元素[X 00, X 10],從記憶體220提取矩陣B的元素[Y 00, Y 01],以及計算X 00Y 00、X 00Y 01、X 10Y 00以及X 10Y 01。優化步驟二:矩陣乘法電路230可以從記憶體240提取矩陣A的元素[X 01, X 11],從記憶體220提取矩陣B的元素[Y 10, Y 11],以及計算X 01Y 10、X 01Y 11、X 11Y 10、X 11Y 11。至此,矩陣乘法電路230可以使用優化步驟一與優化步驟二的X 00Y 00、X 00Y 01、X 10Y 00、X 10Y 01、X 01Y 10、X 01Y 11、X 11Y 10、X 11Y 11得到等式3所示矩陣Z。
作為對圖4比較,圖3所繪示的是,在轉置電路210沒有進行轉置的情況下(亦即元素串ES2相同於元素串ES1),記憶體220與240中的元素儲存位置示意圖。在此假設,矩陣A以行為主方式被存放在記憶體240,而矩陣B的所有元素亦以行為主方式被排列於元素串ES1。亦即,矩陣B以行為主方式被存放在記憶體220。在上述的優化步驟一中,矩陣乘法電路230可以用突發(burst)方式從記憶體240的連續位址A0與A1提取矩陣A的元素[X 00, X 10]。因為矩陣B的元素[Y 00, Y 01]位於記憶體220的離散位址(不連續位址)B0與B2而不能使用突發提取,致使矩陣乘法電路230要分兩次從記憶體220提取元素[Y 00]與元素[Y 01]。在上述的優化步驟二中,矩陣乘法電路230可以用突發方式從記憶體240的連續位址A2與A3提取矩陣A的元素[X 01, X 11]。因為矩陣B的元素[Y 10, Y 11]位於記憶體220的離散位址(不連續位址)B1與B3而不能使用突發提取,致使矩陣乘法電路230要分兩次從記憶體220提取元素[Y 10]與元素[Y 11]。
圖4所繪示的是,在轉置電路210進行轉置的情況下,記憶體220與240中的元素儲存位置示意圖。在此假設,矩陣A以行為主方式被存放在記憶體240,而矩陣B的所有元素亦以行為主方式被排列於元素串ES1。基於轉置電路210的轉置操作,元素串ES2等同於原生矩陣B的所有元素以列為主方式所排列的一個元素串。元素串ES2依序且連續地被存放在記憶體220。亦即,矩陣B以列為主方式被存放在記憶體220,如圖4所示。在上述的優化步驟一中,矩陣乘法電路230可以用突發(burst)方式從記憶體240的連續位址A0與A1提取矩陣A的元素[X 00, X 10],以及用突發方式從記憶體220的連續位址B0與B1提取矩陣B的元素[Y 00, Y 01]。在上述的優化步驟二中,矩陣乘法電路230可以用突發方式從記憶體240的連續位址A2與A3提取矩陣A的元素[X 01, X 11],以及用突發方式從記憶體220的連續位址B2與B3提取矩陣B的元素[Y 10, Y 11]。
圖5所繪示的是,靜態隨機記憶體(SRAM)中的元素存放方式示意圖。在圖5所示實施例中,記憶體220可以是一片SRAM,其中此SRAM的深度為2(兩個位址),而資料寬度為2(兩個元素)。在此假設,矩陣B的所有元素以行為主方式被排列於元素串ES1。基於轉置電路210的轉置操作,矩陣B的所有元素以列為主方式被排列於元素串ES2。亦即,矩陣B以列為主方式被存放在記憶體220(SRAM),如圖5所示。在上述的優化步驟一中,矩陣乘法電路230可以用突發(burst)方式從記憶體240(例如DRAM)的連續位址提取矩陣A的元素[X 00, X 10],以及從記憶體220(SRAM)的位址C0提取矩陣B的元素[Y 00, Y 01]。在上述的優化步驟二中,矩陣乘法電路230可以用突發方式從記憶體240(DRAM)的連續位址提取矩陣A的元素[X 01, X 11],以及從記憶體220(SRAM)的位址C1提取矩陣B的元素[Y 10, Y 11]。
圖6是依照本發明的一實施例的一種矩陣裝置的操作方法的流程示意圖。請參照圖1與圖6。在步驟S601中,矩陣裝置100的轉置電路110從矩陣源接收表示原生矩陣的元素串ES1(第一元素串)。其中,原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中一者被排列於元素串ES1。在步驟S602中,轉置電路110可以將元素串ES1轉置為元素串ES2(第二元素串)。其中,元素串ES2等同於原生矩陣的所有元素以「以列為主方式」以及「以行為主方式」其中另一者所排列的一個元素串。在步驟S603中,矩陣裝置100的記憶體120接收並儲存元素串ES2,作為下一個矩陣運算的運算元矩陣。
綜上所述,上述諸實施例所述轉置電路可以透過轉置方式使在記憶體中的元素排列方式符合存取計算時的特性。因此,所述矩陣裝置可以降低對記憶體存取以及讀取時所需的耗能以及時間,進而有效提升矩陣裝置的效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100、200:矩陣裝置 110、210:轉置電路 120、220、240:記憶體 230:矩陣乘法電路 A0、A1、A2、A3、B0、B1、B2、B3、C0、C1:位址 ES1、ES2、ES3:元素串 S601、S602、S603:步驟 X00、X01、X10、X11、Y00、Y01、Y10、Y11:元素
圖1是依照本發明的一實施例的一種矩陣裝置的電路方塊(circuit block)示意圖。 圖2是依照本發明的另一實施例所繪示,矩陣裝置的電路方塊示意圖。 圖3所繪示的是,在轉置電路沒有進行轉置的情況下,記憶體內的元素儲存位置示意圖。 圖4所繪示的是,在轉置電路210進行轉置的情況下,記憶體中的元素儲存位置示意圖。 圖5所繪示的是,靜態隨機記憶體中的元素存放方式示意圖。 圖6是依照本發明的一實施例的一種矩陣裝置的操作方法的流程示意圖。
100:矩陣裝置
110:轉置電路
120:記憶體
ES1、ES2:元素串

Claims (12)

  1. 一種矩陣裝置,包括:一矩陣乘法電路;一轉置電路,耦接至該矩陣乘法電路以接收表示一原生矩陣的一第一元素串,以及將該第一元素串轉置為一第二元素串,其中該原生矩陣的所有元素以一以列為主方式以及一以行為主方式其中一者被排列於該第一元素串,以及該第二元素串等同於該原生矩陣的所有元素以該以列為主方式以及該以行為主方式其中另一者所排列的一元素串;以及一記憶體,耦接至該轉置電路以接收該第二元素串。
  2. 如請求項1所述的矩陣裝置,其中該矩陣乘法電路包括一乘積累加器陣列。
  3. 如請求項1所述的矩陣裝置,其中該矩陣乘法電路耦接至該記憶體,該矩陣乘法電路進行一神經網路計算的一前層計算以產生該原生矩陣的該第一元素串給該轉置電路,以及該矩陣乘法電路從該記憶體讀取該第二元素串以進行該神經網路計算的一下一層計算。
  4. 如請求項3所述的矩陣裝置,其中該記憶體包括一動態隨機存取記憶體,該記憶體以一突發模式將該原生矩陣的一個行的所有元素提供給該矩陣乘法電路以進行該神經網路計算的該下一層計算。
  5. 如請求項4所述的矩陣裝置,其中該原生矩陣的一個行的所有元素被存放在該記憶體的多個連續位址。
  6. 如請求項1所述的矩陣裝置,其中該原生矩陣的所有元素以該以行為主方式被排列於該第一元素串,該第二元素串等同於該原生矩陣的所有元素以該以列為主方式所排列的一元素串,以及該第二元素串依序且連續地被存放在該記憶體。
  7. 一種矩陣裝置的操作方法,包括:由該矩陣裝置的一轉置電路從該矩陣裝置的一矩陣乘法電路接收表示一原生矩陣的一第一元素串;由該轉置電路將該第一元素串轉置為一第二元素串,其中該原生矩陣的所有元素以一以列為主方式以及一以行為主方式其中一者被排列於該第一元素串,以及該第二元素串等同於該原生矩陣的所有元素以該以列為主方式以及該以行為主方式其中另一者所排列的一元素串;以及由該矩陣裝置的一記憶體接收該第二元素串。
  8. 如請求項7所述的操作方法,其中該矩陣乘法電路包括一乘積累加器陣列。
  9. 如請求項7所述的操作方法,更包括:由該矩陣乘法電路進行一神經網路計算的一前層計算以產生該原生矩陣的該第一元素串給該轉置電路;以及由該矩陣乘法電路從該記憶體讀取該第二元素串,以進行該神經網路計算的一下一層計算。
  10. 如請求項9所述的操作方法,其中該記憶體包括一動態隨機存取記憶體,所述操作方法更包括:由該記憶體以一突發模式將該原生矩陣的一個行的所有元素提供給該矩陣乘法電路,以進行該神經網路計算的該下一層計算。
  11. 如請求項10所述的操作方法,其中該原生矩陣的一個行的所有元素被存放在該記憶體的多個連續位址。
  12. 如請求項7所述的操作方法,其中該原生矩陣的所有元素以該以行為主方式被排列於該第一元素串,該第二元素串等同於該原生矩陣的所有元素以該以列為主方式所排列的一元素串,以及該第二元素串依序且連續地被存放在該記憶體。
TW111135607A 2022-09-20 2022-09-20 矩陣裝置及其操作方法 TWI808000B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW111135607A TWI808000B (zh) 2022-09-20 2022-09-20 矩陣裝置及其操作方法
CN202211274537.8A CN117786293A (zh) 2022-09-20 2022-10-18 矩阵装置及其操作方法
US17/978,989 US20240111827A1 (en) 2022-09-20 2022-11-02 Matrix device and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111135607A TWI808000B (zh) 2022-09-20 2022-09-20 矩陣裝置及其操作方法

Publications (2)

Publication Number Publication Date
TWI808000B true TWI808000B (zh) 2023-07-01
TW202414245A TW202414245A (zh) 2024-04-01

Family

ID=88149144

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111135607A TWI808000B (zh) 2022-09-20 2022-09-20 矩陣裝置及其操作方法

Country Status (3)

Country Link
US (1) US20240111827A1 (zh)
CN (1) CN117786293A (zh)
TW (1) TWI808000B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201602808A (zh) * 2014-07-08 2016-01-16 財團法人工業技術研究院 矩陣轉置電路
TW201945983A (zh) * 2017-03-09 2019-12-01 美商谷歌有限責任公司 硬體中之轉置神經網路矩陣
TW202040369A (zh) * 2019-01-29 2020-11-01 美商聖巴諾瓦系統公司 矩陣正規/轉置讀取及包含矩陣正規/轉置讀取的可重配置資料處理器
TW202132978A (zh) * 2017-05-17 2021-09-01 美商谷歌有限責任公司 特殊用途神經網路訓練晶片

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201602808A (zh) * 2014-07-08 2016-01-16 財團法人工業技術研究院 矩陣轉置電路
TW201945983A (zh) * 2017-03-09 2019-12-01 美商谷歌有限責任公司 硬體中之轉置神經網路矩陣
TW202132978A (zh) * 2017-05-17 2021-09-01 美商谷歌有限責任公司 特殊用途神經網路訓練晶片
TW202040369A (zh) * 2019-01-29 2020-11-01 美商聖巴諾瓦系統公司 矩陣正規/轉置讀取及包含矩陣正規/轉置讀取的可重配置資料處理器

Also Published As

Publication number Publication date
US20240111827A1 (en) 2024-04-04
CN117786293A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
US11194707B2 (en) Systems and methods for rapid processing and storage of data
US10146738B2 (en) Hardware accelerator architecture for processing very-sparse and hyper-sparse matrix data
EP3343391A1 (en) Heterogeneous hardware accelerator architecture for processing sparse matrix data with skewed non-zero distributions
CN111316261B (zh) 矩阵计算引擎
KR20160039544A (ko) 실시간 분석을 지원하는 인-메모리 팝 카운트
US20210303358A1 (en) Inference Engine Circuit Architecture
KR20220051006A (ko) Pim(processing-in-memory) 연산 수행 방법, 및 관련 메모리 디바이스 및 시스템
US9058301B2 (en) Efficient transfer of matrices for matrix based operations
TWI808000B (zh) 矩陣裝置及其操作方法
US10942889B2 (en) Bit string accumulation in memory array periphery
TW202414245A (zh) 矩陣裝置及其操作方法
KR100958965B1 (ko) 어드레스 가능 위치로부터의 인코딩된 데이터에 기반한승수 곱 생성
US20220197642A1 (en) Processor instructions for data compression and decompression
WO2021082746A1 (zh) 运算装置及相关产品
WO2021082747A1 (zh) 运算装置及相关产品
US10942890B2 (en) Bit string accumulation in memory array periphery
US11487699B2 (en) Processing of universal number bit strings accumulated in memory array periphery
EP3519973B1 (en) Area efficient architecture for multi way read on highly associative content addressable memory (cam) arrays
US20240086312A1 (en) Memory searching device and method
US11275562B2 (en) Bit string accumulation
Voss et al. Low area overhead custom buffering for FFT
WO2021212972A1 (zh) 运算方法、处理器以及相关产品
Nguyen et al. A bit-level matrix transpose for bitmap-index-based data analytics
US20240143199A1 (en) Sparse Matrix Operations Using Processing-in-Memory
Hwang et al. HeNCoG: A Heterogeneous Near-memory Computing Architecture for Energy Efficient GCN Acceleration