TWI808000B - 矩陣裝置及其操作方法 - Google Patents
矩陣裝置及其操作方法 Download PDFInfo
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 207
- 238000000034 method Methods 0.000 title claims description 17
- 230000015654 memory Effects 0.000 claims abstract description 90
- 230000017105 transposition Effects 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix 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所述的矩陣裝置,其中該矩陣乘法電路包括一乘積累加器陣列。
- 如請求項1所述的矩陣裝置,其中該矩陣乘法電路耦接至該記憶體,該矩陣乘法電路進行一神經網路計算的一前層計算以產生該原生矩陣的該第一元素串給該轉置電路,以及該矩陣乘法電路從該記憶體讀取該第二元素串以進行該神經網路計算的一下一層計算。
- 如請求項3所述的矩陣裝置,其中該記憶體包括一動態隨機存取記憶體,該記憶體以一突發模式將該原生矩陣的一個行的所有元素提供給該矩陣乘法電路以進行該神經網路計算的該下一層計算。
- 如請求項4所述的矩陣裝置,其中該原生矩陣的一個行的所有元素被存放在該記憶體的多個連續位址。
- 如請求項1所述的矩陣裝置,其中該原生矩陣的所有元素以該以行為主方式被排列於該第一元素串,該第二元素串等同於該原生矩陣的所有元素以該以列為主方式所排列的一元素串,以及該第二元素串依序且連續地被存放在該記憶體。
- 一種矩陣裝置的操作方法,包括:由該矩陣裝置的一轉置電路從該矩陣裝置的一矩陣乘法電路接收表示一原生矩陣的一第一元素串;由該轉置電路將該第一元素串轉置為一第二元素串,其中該原生矩陣的所有元素以一以列為主方式以及一以行為主方式其中一者被排列於該第一元素串,以及該第二元素串等同於該原生矩陣的所有元素以該以列為主方式以及該以行為主方式其中另一者所排列的一元素串;以及由該矩陣裝置的一記憶體接收該第二元素串。
- 如請求項7所述的操作方法,其中該矩陣乘法電路包括一乘積累加器陣列。
- 如請求項7所述的操作方法,更包括:由該矩陣乘法電路進行一神經網路計算的一前層計算以產生該原生矩陣的該第一元素串給該轉置電路;以及由該矩陣乘法電路從該記憶體讀取該第二元素串,以進行該神經網路計算的一下一層計算。
- 如請求項9所述的操作方法,其中該記憶體包括一動態隨機存取記憶體,所述操作方法更包括:由該記憶體以一突發模式將該原生矩陣的一個行的所有元素提供給該矩陣乘法電路,以進行該神經網路計算的該下一層計算。
- 如請求項10所述的操作方法,其中該原生矩陣的一個行的所有元素被存放在該記憶體的多個連續位址。
- 如請求項7所述的操作方法,其中該原生矩陣的所有元素以該以行為主方式被排列於該第一元素串,該第二元素串等同於該原生矩陣的所有元素以該以列為主方式所排列的一元素串,以及該第二元素串依序且連續地被存放在該記憶體。
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)
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 | 美商谷歌有限責任公司 | 特殊用途神經網路訓練晶片 |
-
2022
- 2022-09-20 TW TW111135607A patent/TWI808000B/zh active
- 2022-10-18 CN CN202211274537.8A patent/CN117786293A/zh active Pending
- 2022-11-02 US US17/978,989 patent/US20240111827A1/en active Pending
Patent Citations (4)
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 |