JP6960479B2 - 再構成可能並列処理 - Google Patents
再構成可能並列処理 Download PDFInfo
- Publication number
- JP6960479B2 JP6960479B2 JP2019572353A JP2019572353A JP6960479B2 JP 6960479 B2 JP6960479 B2 JP 6960479B2 JP 2019572353 A JP2019572353 A JP 2019572353A JP 2019572353 A JP2019572353 A JP 2019572353A JP 6960479 B2 JP6960479 B2 JP 6960479B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- pes
- instruction
- arrangement
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 42
- 230000015654 memory Effects 0.000 claims description 432
- 238000000034 method Methods 0.000 claims description 50
- 239000000872 buffer Substances 0.000 claims description 40
- 238000013500 data storage Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 19
- 238000013507 mapping Methods 0.000 description 18
- 101001126226 Homo sapiens Polyisoprenoid diphosphate/phosphate phosphohydrolase PLPP6 Proteins 0.000 description 11
- 101000609849 Homo sapiens [Pyruvate dehydrogenase [acetyl-transferring]]-phosphatase 1, mitochondrial Proteins 0.000 description 11
- 102100039169 [Pyruvate dehydrogenase [acetyl-transferring]]-phosphatase 1, mitochondrial Human genes 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 11
- 101100179594 Caenorhabditis elegans ins-4 gene Proteins 0.000 description 9
- 101000609860 Homo sapiens [Pyruvate dehydrogenase [acetyl-transferring]]-phosphatase 2, mitochondrial Proteins 0.000 description 9
- 102100039167 [Pyruvate dehydrogenase [acetyl-transferring]]-phosphatase 2, mitochondrial Human genes 0.000 description 9
- 101150032953 ins1 gene Proteins 0.000 description 9
- 230000003068 static effect Effects 0.000 description 9
- 101000600772 Homo sapiens Pyruvate dehydrogenase phosphatase regulatory subunit, mitochondrial Proteins 0.000 description 8
- 102100037284 Pyruvate dehydrogenase phosphatase regulatory subunit, mitochondrial Human genes 0.000 description 8
- 238000003491 array Methods 0.000 description 6
- 101100179596 Caenorhabditis elegans ins-3 gene Proteins 0.000 description 5
- 101100072420 Caenorhabditis elegans ins-5 gene Proteins 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 101100072419 Caenorhabditis elegans ins-6 gene Proteins 0.000 description 4
- 101150089655 Ins2 gene Proteins 0.000 description 3
- 101100179824 Caenorhabditis elegans ins-17 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 101100072652 Xenopus laevis ins-b gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
- G06F15/7875—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for multiple contexts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
- G06F15/7878—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for pipeline reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
- G06F15/7889—Reconfigurable logic implemented as a co-processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8061—Details on data memory access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8061—Details on data memory access
- G06F15/8069—Details on data memory access using a cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8092—Array of vector units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
本出願は2017年3月14日に提出されたタイトルが「Reconfigurable Parallel Processing」である米国特許仮出願62/471,340、2017年3月15日に提出されたタイトルが「Circular Reconfiguration for Reconfigurable Parallel Processor」である米国特許仮出願62/471,367、2017年3月15日に提出されたタイトルが「Private Memory Structure for Reconfigurable Parallel Processor」である米国特許仮出願62/471,368、2017年3月15日に提出されたタイトルが「Shared Memory Structure for Reconfigurable Parallel Processor」である米国特許仮出願62/471,372、2017年3月17日に提出されたタイトルが「Static Shared Memory Access for Reconfigurable Parallel Processor」である米国特許仮出願62/472,579の優先権を主張し、これらの出願の内容が参照により本明細書に取り組まれる。
Claims (7)
- それぞれが配置バッファを含む複数の処理素子(PE)と、
前記複数のPEのそれぞれの配置バッファに結合され、1つ又は複数のPE配置を前記複数のPEに割り当てるように構成されるシーケンサと、
前記複数のPEに結合され、前記複数のPEのうちの少なくとも1つのPEの実行結果を記憶するように構成されるガスケットメモリとを備え、
仮想データパスを分割した各物理データパスに対応する期間毎に、前記複数のPEのそれぞれの配置バッファに、当該物理データパスの相異なる命令に対応するPE配置が割り当てられ、
前記複数のPEのそれぞれにおいては、前記各物理データパスに対応する期間内において、当該PEの配置バッファに割り当てられたPE配置のもとで複数のスレッドが実行される
プロセッサ。 - 前記シーケンサからスイッチボックス配置を受信するために前記シーケンサに結合され、それぞれが、前記複数のPEのうちの対応するPEに関連付けられ、そして前記スイッチボックス配置に従って前記対応するPEに入力データ切り替えを提供するように構成される、複数のスイッチボックスをさらに備え、
前記複数のスイッチボックス及びそれらに関連付けられたPEは複数列に配置され、前記複数列の第1列における第一のスイッチボックスは、前記ガスケットメモリと前記複数列の第1列における1番目のPEの間に結合され、前記複数列の最後の列における2番目のPEが前記ガスケットメモリに結合されることを特徴とする
請求項1に記載のプロセッサ。 - 前記複数のPEにデータ記憶を提供するように構成されるメモリユニットと、
それぞれが前記複数列の異なる列に配置され、前記メモリユニットにアクセスするために前記複数のPEによって用いられる複数のメモリポートと、
前記シーケンサからICSB配置を受信するために前記シーケンサに結合され、前記ICSB配置に従って前記複数列の隣接する列間にデータ切り替えを提供するように構成される複数の列間スイッチボックス(ICSB)とをさらに備え、
前記複数のメモリポート(MP)は、前記シーケンサから前記MP配置を受信するために前記シーケンサに結合され、一つのMP配置期間にプライベートアクセスモード又は共有アクセスモードで動作するように構成されることを特徴とする
請求項2に記載のプロセッサ。 - 前記メモリユニットに記憶された一つのセグメントのデータは、前記メモリユニット内で移動することなく、プログラムの異なる部分で前記プライベートアクセスモード及び前記共有アクセスモードを通じてアクセスされることを特徴とする
請求項3に記載のプロセッサ。 - 前記複数列のそれぞれに2つ又はそれ以上のPEが含まれ、前記複数のPEが2行又はそれ以上に形成され、
第1行のPEは、第一のグループの命令を実行するように構成され、第2行のPEは、第二のグループの命令を実行するように構成され、前記第二のグループの命令のうちの少なくとも一つの命令が前記第一のグループの命令に位置しなく、前記複数列が同じであり且つ重複列を形成することを特徴とする
請求項2から請求項4のいずれか一項に記載のプロセッサ。 - 前記複数のメモリポートのそれぞれは、ベクトルアドレスを使用して前記メモリユニットにアクセスするように構成され、前記プライベートアクセスモードで、前記ベクトルアドレスの1つのアドレスがスレッドインデックスに従って前記メモリユニットの1つのメモリバンクにルーティングされ、一つのスレッドの全てのプライベートデータが同一のメモリバンクに位置し、
前記複数のメモリポートのそれぞれは、ベクトルアドレスを使用して前記メモリユニットにアクセスするように構成され、前記共有アクセスモードで、前記ベクトルアドレスの1つのアドレスが前記スレッドインデックスに関わらずに定義された領域においてメモリバンクにわたってルーティングされ、全てのスレッドに共有されるデータが全てのメモリバンクに分散することを特徴とする
請求項3に記載のプロセッサ。 - それぞれが配置バッファを含む複数の処理素子(PE)と、
前記複数のPEのそれぞれの配置バッファに結合され、1つ又は複数のPE配置を前記複数のPEに割り当てるように構成されるシーケンサと、
前記複数のPEに結合され、前記複数のPEのうちの少なくとも1つのPEの実行結果を記憶するように構成されるガスケットメモリとを備えるプロセッサの動作方法であって、
仮想データパスを分割した各物理データパスに対応する期間毎に、前記複数のPEのそれぞれの配置バッファに、当該物理データパスの相異なる命令に対応するPE配置を割り当て、
前記複数のPEのそれぞれにおいて、前記各物理データパスに対応する期間内において、当該PEの配置バッファに割り当てられたPE配置のもとで複数のスレッドを実行させる
プロセッサの動作方法。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762471340P | 2017-03-14 | 2017-03-14 | |
US62/471,340 | 2017-03-14 | ||
US201762471368P | 2017-03-15 | 2017-03-15 | |
US201762471367P | 2017-03-15 | 2017-03-15 | |
US201762471372P | 2017-03-15 | 2017-03-15 | |
US62/471,372 | 2017-03-15 | ||
US62/471,367 | 2017-03-15 | ||
US62/471,368 | 2017-03-15 | ||
US201762472579P | 2017-03-17 | 2017-03-17 | |
US62/472,579 | 2017-03-17 | ||
PCT/US2018/022106 WO2018169911A1 (en) | 2017-03-14 | 2018-03-13 | Reconfigurable parallel processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020522825A JP2020522825A (ja) | 2020-07-30 |
JP6960479B2 true JP6960479B2 (ja) | 2021-11-05 |
Family
ID=63519289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019572353A Active JP6960479B2 (ja) | 2017-03-14 | 2018-03-13 | 再構成可能並列処理 |
Country Status (5)
Country | Link |
---|---|
US (12) | US10776311B2 (ja) |
EP (1) | EP3596609A1 (ja) |
JP (1) | JP6960479B2 (ja) |
CN (5) | CN110494851B (ja) |
WO (1) | WO2018169911A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
US9910675B2 (en) * | 2013-08-08 | 2018-03-06 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for low power computational imaging |
JP6960479B2 (ja) * | 2017-03-14 | 2021-11-05 | アズールエンジン テクノロジーズ ヂュハイ インク.Azurengine Technologies Zhuhai Inc. | 再構成可能並列処理 |
US11328037B2 (en) * | 2017-07-07 | 2022-05-10 | Intel Corporation | Memory-size- and bandwidth-efficient method for feeding systolic array matrix multipliers |
US11114138B2 (en) * | 2017-09-15 | 2021-09-07 | Groq, Inc. | Data structures with multiple read ports |
US11243880B1 (en) | 2017-09-15 | 2022-02-08 | Groq, Inc. | Processor architecture |
US11868804B1 (en) | 2019-11-18 | 2024-01-09 | Groq, Inc. | Processor instruction dispatch configuration |
US11360934B1 (en) | 2017-09-15 | 2022-06-14 | Groq, Inc. | Tensor streaming processor architecture |
US11170307B1 (en) | 2017-09-21 | 2021-11-09 | Groq, Inc. | Predictive model compiler for generating a statically scheduled binary with known resource constraints |
KR102502526B1 (ko) * | 2018-04-16 | 2023-02-23 | 에밀 바덴호르스트 | 프로세서 및 프로세서 작동 방법 |
US11455370B2 (en) | 2018-11-19 | 2022-09-27 | Groq, Inc. | Flattened input stream generation for convolution with expanded kernel |
GB2580316B (en) | 2018-12-27 | 2021-02-24 | Graphcore Ltd | Instruction cache in a multi-threaded processor |
US10983948B2 (en) * | 2019-03-07 | 2021-04-20 | Raytheon Company | Reconfigurable computing appliance |
TWI719433B (zh) * | 2019-03-22 | 2021-02-21 | 美商葛如克公司 | 具有多讀取埠之資料結構、處理器、及用於具有多讀取埠之資料結構之方法 |
TWI751882B (zh) * | 2019-03-22 | 2022-01-01 | 美商葛如克公司 | 具有多讀取埠之資料結構、處理器、及用於具有多讀取埠之資料結構之方法 |
US11169957B2 (en) * | 2019-03-31 | 2021-11-09 | Intel Corporation | Systems and methods for reconfigurable systolic arrays |
CN110034920B (zh) * | 2019-04-09 | 2023-03-31 | 中国人民解放军战略支援部队信息工程大学 | 粗粒度可重构密码逻辑阵列的映射方法及装置 |
US11144466B2 (en) * | 2019-06-06 | 2021-10-12 | Intel Corporation | Memory device with local cache array |
WO2021014017A1 (en) * | 2019-07-25 | 2021-01-28 | Technische Universiteit Eindhoven | A reconfigurable architecture, for example a coarse-grained reconfigurable architecture as well as a corresponding method of operating such a reconfigurable architecture |
US11442731B2 (en) * | 2019-10-17 | 2022-09-13 | Arm Limited | Data processing systems including an intermediate buffer with controlled data value eviction |
US11054998B1 (en) | 2019-12-12 | 2021-07-06 | Facebook, Inc. | High bandwidth memory system with distributed request broadcasting masters |
KR20210092078A (ko) | 2020-01-15 | 2021-07-23 | 삼성전자주식회사 | 병렬 연산 처리를 수행하는 메모리 장치 및 그 동작방법, 그리고 메모리 장치를 제어하는 메모리 컨트롤러의 동작방법 |
CN111324461B (zh) * | 2020-02-20 | 2023-09-01 | 西安芯瞳半导体技术有限公司 | 内存分配方法、装置、计算机设备和存储介质 |
WO2021187027A1 (ja) * | 2020-03-18 | 2021-09-23 | 日本電気株式会社 | 情報処理装置及び情報処理方法 |
US11455272B2 (en) * | 2020-12-10 | 2022-09-27 | Axis Semiconductor, Inc. | Energy efficient microprocessor with index selected hardware architecture |
CN114625421A (zh) * | 2020-12-11 | 2022-06-14 | 上海阵量智能科技有限公司 | Simt指令处理方法及装置 |
CN112506853A (zh) * | 2020-12-18 | 2021-03-16 | 清华大学 | 零缓冲流水的可重构处理单元阵列及零缓冲流水方法 |
DE102021203225A1 (de) * | 2021-03-30 | 2022-10-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zur Ermittlung von Adresswerten |
CN112995067B (zh) * | 2021-05-18 | 2021-09-07 | 中国人民解放军海军工程大学 | 一种粗粒度可重构数据处理架构及其数据处理方法 |
CN113032329B (zh) * | 2021-05-21 | 2021-09-14 | 千芯半导体科技(北京)有限公司 | 基于可重构存算芯片的计算结构、硬件架构及计算方法 |
TWI831564B (zh) * | 2022-11-09 | 2024-02-01 | 晶心科技股份有限公司 | 可配置的記憶體系統及其記憶體管理方法 |
US11995030B1 (en) | 2022-11-10 | 2024-05-28 | Azurengine Technologies, Inc. | Reconfigurable parallel processor with stacked columns forming a circular data path |
Family Cites Families (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
JPH0675930A (ja) * | 1992-08-27 | 1994-03-18 | Toshiba Corp | 並列プロセッサシステム |
US5479624A (en) * | 1992-10-14 | 1995-12-26 | Lee Research, Inc. | High-performance interleaved memory system comprising a prime number of memory modules |
US5513366A (en) * | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
US5960211A (en) * | 1995-12-15 | 1999-09-28 | Hughes Aircraft | Data formatting method and apparatus for a data processing array |
US5900011A (en) | 1996-07-01 | 1999-05-04 | Sun Microsystems, Inc. | Integrated processor/memory device with victim data cache |
US5889947A (en) * | 1996-12-16 | 1999-03-30 | International Business Machines Corporation | Apparatus and method for executing instructions that select a storage location for output values in response to an operation count |
US6154829A (en) * | 1997-10-20 | 2000-11-28 | Matsushita Electric Industrial Co., Ltd. | Cascaded arithmetic pipeline data processor |
US6748517B1 (en) * | 1999-06-22 | 2004-06-08 | Pts Corporation | Constructing database representing manifold array architecture instruction set for use in support tool code creation |
US6347346B1 (en) * | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
JP2001092657A (ja) * | 1999-09-22 | 2001-04-06 | Toshiba Corp | 中央演算装置、コンパイル方法、及びコンパイルプログラムを記録した記録媒体 |
US20040015899A1 (en) | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7320065B2 (en) * | 2001-04-26 | 2008-01-15 | Eleven Engineering Incorporated | Multithread embedded processor with input/output capability |
US20030056091A1 (en) | 2001-09-14 | 2003-03-20 | Greenberg Craig B. | Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations |
US8412915B2 (en) * | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
EP1483682A2 (de) | 2002-01-19 | 2004-12-08 | PACT XPP Technologies AG | Reconfigurierbarer prozessor |
US9170812B2 (en) * | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US7328314B2 (en) * | 2002-06-19 | 2008-02-05 | Alcatel-Lucent Canada Inc. | Multiprocessor computing device having shared program memory |
US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
AU2003254126A1 (en) * | 2002-07-23 | 2004-02-09 | Gatechance Technologies Inc | Pipelined reconfigurable dynamic instruciton set processor |
US7571303B2 (en) | 2002-10-16 | 2009-08-04 | Akya (Holdings) Limited | Reconfigurable integrated circuit |
US7412586B1 (en) * | 2003-07-29 | 2008-08-12 | Colorado State University Research Foundation | Switch memory architectures |
JP4104538B2 (ja) | 2003-12-22 | 2008-06-18 | 三洋電機株式会社 | リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路 |
US20050216700A1 (en) | 2004-03-26 | 2005-09-29 | Hooman Honary | Reconfigurable parallelism architecture |
JP4484756B2 (ja) * | 2004-06-21 | 2010-06-16 | 三洋電機株式会社 | リコンフィギュラブル回路および処理装置 |
JP4275013B2 (ja) * | 2004-06-21 | 2009-06-10 | 三洋電機株式会社 | データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。 |
JP4451733B2 (ja) * | 2004-06-30 | 2010-04-14 | 富士通マイクロエレクトロニクス株式会社 | 半導体装置 |
GB2417105B (en) * | 2004-08-13 | 2008-04-09 | Clearspeed Technology Plc | Processor memory system |
US7941794B2 (en) | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
GB0420004D0 (en) | 2004-09-09 | 2004-10-13 | Koninkl Philips Electronics Nv | Interconnections in SIMD processor architectures |
US8155113B1 (en) * | 2004-12-13 | 2012-04-10 | Massachusetts Institute Of Technology | Processing data in a parallel processing environment |
GB2423840A (en) | 2005-03-03 | 2006-09-06 | Clearspeed Technology Plc | Reconfigurable logic in processors |
US7581079B2 (en) * | 2005-03-28 | 2009-08-25 | Gerald George Pechanek | Processor composed of memory nodes that execute memory access instructions and cooperate with execution nodes to execute function instructions |
EP1868293A1 (en) * | 2005-04-05 | 2007-12-19 | Matsushita Electric Industrial Co., Ltd. | Computer system, data structure showing configuration information, and mapping device and method |
US7734895B1 (en) | 2005-04-28 | 2010-06-08 | Massachusetts Institute Of Technology | Configuring sets of processor cores for processing instructions |
CN100395680C (zh) * | 2005-05-26 | 2008-06-18 | 华为技术有限公司 | 一种异步时钟域参数的配置方法及装置 |
US8560795B2 (en) * | 2005-06-30 | 2013-10-15 | Imec | Memory arrangement for multi-processor systems including a memory queue |
JP4720436B2 (ja) * | 2005-11-01 | 2011-07-13 | 株式会社日立製作所 | リコンフィギュラブルプロセッサまたは装置 |
CN1776660A (zh) * | 2005-12-02 | 2006-05-24 | 浙江大学 | 一种用于可重构计算阵列的数据耦合器 |
US20070139074A1 (en) | 2005-12-19 | 2007-06-21 | M2000 | Configurable circuits with microcontrollers |
JP2007249843A (ja) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | 再構成可能な演算装置 |
GB0605349D0 (en) * | 2006-03-17 | 2006-04-26 | Imec Inter Uni Micro Electr | Reconfigurable multi-processing coarse-grain array |
US7577820B1 (en) * | 2006-04-14 | 2009-08-18 | Tilera Corporation | Managing data in a parallel processing environment |
US7506134B1 (en) | 2006-06-16 | 2009-03-17 | Nvidia Corporation | Hardware resource based mapping of cooperative thread arrays (CTA) to result matrix tiles for efficient matrix multiplication in computing system comprising plurality of multiprocessors |
CN101169866B (zh) * | 2006-10-26 | 2010-09-01 | 朱明程 | 自重构片上多媒体处理系统及其自重构实现方法 |
CN101364214A (zh) * | 2007-08-08 | 2009-02-11 | 顾士平 | 动态可重构指令计算机处理器及实现方法 |
KR101098758B1 (ko) | 2007-09-20 | 2011-12-26 | 서울대학교산학협력단 | Fp-ra를 구성하는 pe 구조 및 그 fp-ra제어하는 fp-ra 제어 회로 |
US8181003B2 (en) * | 2008-05-29 | 2012-05-15 | Axis Semiconductor, Inc. | Instruction set design, control and communication in programmable microprocessor cores and the like |
JP5163306B2 (ja) | 2008-06-19 | 2013-03-13 | 富士通セミコンダクター株式会社 | 動的再構成回路およびデータ送信制御方法 |
CN101655777B (zh) * | 2008-08-21 | 2011-08-17 | 英业达股份有限公司 | 数据交换盒及数据交换方法 |
JP2010146102A (ja) * | 2008-12-16 | 2010-07-01 | Sanyo Electric Co Ltd | 演算処理装置および記憶領域割当方法 |
CN101782893B (zh) * | 2009-01-21 | 2014-12-24 | 上海芯豪微电子有限公司 | 可重构数据处理平台 |
KR101553648B1 (ko) * | 2009-02-13 | 2015-09-17 | 삼성전자 주식회사 | 재구성 가능한 구조의 프로세서 |
US9606807B2 (en) * | 2009-06-04 | 2017-03-28 | Micron Technology, Inc. | Direct communication with a processor internal to a memory device |
US9223578B2 (en) * | 2009-09-25 | 2015-12-29 | Nvidia Corporation | Coalescing memory barrier operations across multiple parallel threads |
US8271763B2 (en) * | 2009-09-25 | 2012-09-18 | Nvidia Corporation | Unified addressing and instructions for accessing parallel memory spaces |
KR101636377B1 (ko) * | 2009-10-23 | 2016-07-06 | 삼성전자주식회사 | 재구성 프로세서, 재구성 제어 장치 및 방법, 그리고, 스레드 모델링 방법 |
JP2011170758A (ja) * | 2010-02-22 | 2011-09-01 | Panasonic Electric Works Co Ltd | プロセッサ |
JP5504985B2 (ja) | 2010-03-11 | 2014-05-28 | 富士ゼロックス株式会社 | データ処理装置 |
CN102012803B (zh) * | 2010-11-25 | 2014-09-10 | 中国人民解放军国防科学技术大学 | 支持多宽度simd和多粒度simt的可配置矩阵寄存器单元 |
JP5760532B2 (ja) * | 2011-03-14 | 2015-08-12 | 株式会社リコー | プロセッサ装置及びその演算方法 |
CN102184090B (zh) * | 2011-05-27 | 2013-12-04 | 清华大学 | 一种动态可重构处理器及其固定数的调用方法 |
US8966457B2 (en) * | 2011-11-15 | 2015-02-24 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
WO2013100783A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US9262174B2 (en) * | 2012-04-05 | 2016-02-16 | Nvidia Corporation | Dynamic bank mode addressing for memory access |
US9710306B2 (en) * | 2012-04-09 | 2017-07-18 | Nvidia Corporation | Methods and apparatus for auto-throttling encapsulated compute tasks |
US10203934B2 (en) * | 2012-07-11 | 2019-02-12 | Intel Corporation | Parallell processing of a single data buffer |
US9280344B2 (en) * | 2012-09-27 | 2016-03-08 | Texas Instruments Incorporated | Repeated execution of instruction with field indicating trigger event, additional instruction, or trigger signal destination |
US9558003B2 (en) * | 2012-11-29 | 2017-01-31 | Samsung Electronics Co., Ltd. | Reconfigurable processor for parallel processing and operation method of the reconfigurable processor |
US9449257B2 (en) * | 2012-12-04 | 2016-09-20 | Institute Of Semiconductors, Chinese Academy Of Sciences | Dynamically reconstructable multistage parallel single instruction multiple data array processing system |
US9015656B2 (en) * | 2013-02-28 | 2015-04-21 | Cray Inc. | Mapping vector representations onto a predicated scalar multi-threaded system |
US8860457B2 (en) | 2013-03-05 | 2014-10-14 | Qualcomm Incorporated | Parallel configuration of a reconfigurable instruction cell array |
KR20140126195A (ko) * | 2013-04-22 | 2014-10-30 | 삼성전자주식회사 | 배치 쓰레드 처리 기반의 프로세서, 그 프로세서를 이용한 배치 쓰레드 처리 방법 및 배치 쓰레드 처리를 위한 코드 생성 장치 |
EP2806361B1 (en) * | 2013-05-22 | 2020-03-04 | Teknologian Tutkimuskeskus VTT | Memory unit for emulated shared memory architectures |
US9535705B1 (en) | 2013-08-13 | 2017-01-03 | Asher Hazanchuk | Flexible hardware programmable scalable parallel processor |
US20150074353A1 (en) * | 2013-09-06 | 2015-03-12 | Futurewei Technologies, Inc. | System and Method for an Asynchronous Processor with Multiple Threading |
US20150268963A1 (en) * | 2014-03-23 | 2015-09-24 | Technion Research & Development Foundation Ltd. | Execution of data-parallel programs on coarse-grained reconfigurable architecture hardware |
CN103984560B (zh) * | 2014-05-30 | 2017-09-19 | 东南大学 | 基于大规模粗粒度嵌入式可重构系统及其处理方法 |
US10061591B2 (en) | 2014-06-27 | 2018-08-28 | Samsung Electronics Company, Ltd. | Redundancy elimination in single instruction multiple data/thread (SIMD/T) execution processing |
KR102277439B1 (ko) | 2014-10-21 | 2021-07-14 | 삼성전자주식회사 | 재구성 가능 프로세서 및 그 동작 방법 |
US9977678B2 (en) * | 2015-01-12 | 2018-05-22 | International Business Machines Corporation | Reconfigurable parallel execution and load-store slice processor |
GB2536211B (en) | 2015-03-04 | 2021-06-16 | Advanced Risc Mach Ltd | An apparatus and method for executing a plurality of threads |
CN104699465B (zh) * | 2015-03-26 | 2017-05-24 | 中国人民解放军国防科学技术大学 | 向量处理器中支持simt的向量访存装置和控制方法 |
US9804666B2 (en) | 2015-05-26 | 2017-10-31 | Samsung Electronics Co., Ltd. | Warp clustering |
CN104933008B (zh) * | 2015-06-24 | 2018-12-14 | 东南大学 | 可重构系统和可重构阵列结构及其应用 |
CN105302525B (zh) * | 2015-10-16 | 2018-01-05 | 上海交通大学 | 用于多层次异构结构的可重构处理器的并行处理方法 |
CN105487838B (zh) * | 2015-11-23 | 2018-01-26 | 上海交通大学 | 一种动态可重构处理器的任务级并行调度方法与系统 |
US10185699B2 (en) | 2016-03-14 | 2019-01-22 | Futurewei Technologies, Inc. | Reconfigurable data interface unit for compute systems |
US11853244B2 (en) * | 2017-01-26 | 2023-12-26 | Wisconsin Alumni Research Foundation | Reconfigurable computer accelerator providing stream processor and dataflow processor |
JP6960479B2 (ja) * | 2017-03-14 | 2021-11-05 | アズールエンジン テクノロジーズ ヂュハイ インク.Azurengine Technologies Zhuhai Inc. | 再構成可能並列処理 |
-
2018
- 2018-03-13 JP JP2019572353A patent/JP6960479B2/ja active Active
- 2018-03-13 US US15/919,709 patent/US10776311B2/en active Active
- 2018-03-13 CN CN201880017189.1A patent/CN110494851B/zh active Active
- 2018-03-13 CN CN202111188957.XA patent/CN114168525B/zh active Active
- 2018-03-13 WO PCT/US2018/022106 patent/WO2018169911A1/en unknown
- 2018-03-13 US US15/919,774 patent/US10956360B2/en active Active
- 2018-03-13 CN CN202111195957.2A patent/CN114003547B/zh active Active
- 2018-03-13 US US15/919,752 patent/US10776312B2/en active Active
- 2018-03-13 EP EP18766670.6A patent/EP3596609A1/en active Pending
- 2018-03-13 CN CN202111190493.6A patent/CN114168526B/zh active Active
- 2018-03-13 CN CN202111190491.7A patent/CN114238204B/zh active Active
- 2018-03-13 US US15/919,727 patent/US10733139B2/en active Active
- 2018-03-13 US US15/919,681 patent/US10776310B2/en active Active
-
2019
- 2019-09-13 US US16/569,749 patent/US11226927B2/en active Active
-
2020
- 2020-06-19 US US16/906,352 patent/US11182333B2/en active Active
- 2020-07-16 US US16/930,472 patent/US11182334B2/en active Active
- 2020-07-17 US US16/931,546 patent/US11182335B2/en active Active
- 2020-07-17 US US16/931,993 patent/US11182336B2/en active Active
- 2020-07-17 US US16/932,039 patent/US11176085B2/en active Active
-
2021
- 2021-12-10 US US17/547,668 patent/US11971847B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6960479B2 (ja) | 再構成可能並列処理 | |
Chang et al. | A scalable, numerically stable, high-performance tridiagonal solver using GPUs | |
Ries et al. | Triangular matrix inversion on graphics processing unit | |
EP3108358B1 (en) | Execution engine for executing single assignment programs with affine dependencies | |
Brown | Exploring the acceleration of the Met Office NERC cloud model using FPGAs | |
Xu et al. | Generalized GPU acceleration for applications employing finite-volume methods | |
US20240160448A1 (en) | Mixed scalar and vector operations in multi-threaded computing | |
US20240160602A1 (en) | Reconfigurable parallel processor with stacked columns forming a circular data path | |
Yoo et al. | Multiprocessor system-on-chip designs with active memory processors for higher memory efficiency | |
Garg | Near-memory Primitive Support and Infrastructure for Sparse Algorithms | |
Wessels | Benchmarking Dataflow for FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190917 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190917 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210208 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210401 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6960479 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |