JP2006039790A - ブロードキャスト型並列処理のための演算処理装置 - Google Patents
ブロードキャスト型並列処理のための演算処理装置 Download PDFInfo
- Publication number
- JP2006039790A JP2006039790A JP2004216728A JP2004216728A JP2006039790A JP 2006039790 A JP2006039790 A JP 2006039790A JP 2004216728 A JP2004216728 A JP 2004216728A JP 2004216728 A JP2004216728 A JP 2004216728A JP 2006039790 A JP2006039790 A JP 2006039790A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- arithmetic processing
- element processors
- mode
- processor
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 57
- 230000015654 memory Effects 0.000 claims abstract description 70
- 238000007667 floating Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 abstract description 73
- 239000002245 particle Substances 0.000 description 57
- 239000004065 semiconductor Substances 0.000 description 12
- 230000003993 interaction Effects 0.000 description 8
- 230000005484 gravity Effects 0.000 description 7
- 230000010354 integration Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 241000219095 Vitis Species 0.000 description 4
- 235000009754 Vitis X bourquina Nutrition 0.000 description 4
- 235000012333 Vitis X labruscana Nutrition 0.000 description 4
- 235000014787 Vitis vinifera Nutrition 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 229940050561 matrix product Drugs 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000001343 mnemonic effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000006870 function Effects 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
- 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
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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
-
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】 レジスタファイルRを有する複数の要素プロセッサP11〜PKMと、制御プロセッサ14とを備えてなる演算処理装置1であって、複数の要素プロセッサの少なくとも二つの要素プロセッサは、予め異なるパラメータを受け取ってレジスタファイルに格納し、制御プロセッサから同報される同一の命令と同一のメモリアドレスとを受け取り、メモリアドレスに基づいて外部メモリから同一のデータをメモリーポートを通じて読み込み、同一のデータに対して同一の命令に応じて異なるパラメータに基づいて、論理演算または算術演算の少なくともいずれかを行なう。
【選択図】 図2
Description
[全体構成]
図1は、本発明の演算処理装置の実施の形態を用いて計算を行なうためのコンピュータシステム100の構成を示すブロック図である。コンピュータシステム100は、ホストコンピュータ20と専用計算機部10から構成されていることができる。ホストコンピュータ20は、例えば市販されているパーソナルコンピュータなどであり、中央演算装置(CPU)22には主記憶装置(メモリ)24が接続されており、例えばハードディスクドライブなどの補助記憶装置28、ディスプレイアダプタなどの表示手段30、キーボードやマウスなどの入力操作手段32が、PCIやISAなどの適切な規格による適切なバス26を介してCPU22と接続されている。バス26には適当な通信または入出力手段34(例えば、PCIバススロット、あるいはPCIバスに接続された適当なIOカード等)を介して、専用計算機部10が接続されている。コンピュータシステム100は、以下に説明する演算処理装置を実装した専用計算機部10をホストコンピュータ20によって制御することにより、目的とする計算を実行する。
本実施の形態におけるアダプタカードの構成を図2に示す。アダプタカード10−I(Iは1〜Zの自然数)においては、本発明の実施の形態に係る演算処理装置1と外部メモリ2とが適当な外部バスインターフェース122を介して接続するように実装されている。外部メモリ2は、任意のメモリとすることができ、例えば、各種の方式のランダムアクセスメモリ(RAM)の中から、記憶容量とデータ転送速度に応じて適宜選択される。図2においては、外部メモリ2を一つだけ記載しているが、外部メモリをデータ用と命令用に分けて実装することもできる。外部メモリ2と外部バスインターフェース122とは、外部バス124を通じて接続されている。外部バスインターフェース124は外部メモリ2のメモリーポートを介してメモリにアクセスできる。このため、複数の要素プロセッサが外部メモリ2の同一のメモリーポートを通じて外部メモリ2とアクセスする。
演算処理装置1は、一片の半導体ダイ12に集積された集積回路を有している。ダイ12には、要素プロセッサP11〜PKMのK×M個(K、Mは自然数)の要素プロセッサが備えられている。要素プロセッサのそれぞれにはレジスタファイルRが備えられている。ここで、例えば、KとMはともに16であり、半導体ダイ12上には256個の要素プロセッサが集積されている。図2においては、アダプタカード上に半導体ダイ12を一つだけ記載しているが、アダプタカード上に複数の半導体ダイ12を実装しても良い。
[動作]
演算処理装置1の動作上の特徴の一つは、同一の命令にしたがって、同一のデータを、各要素プロセッサが並行して処理を行なう点である。この際、要素プロセッサのそれぞれのレジスタファイルRには、予め計算目的に合わせたパラメータデータが転送されている。各要素プロセッサは、パラメータデータと他の要素プロセッサと同じデータとを用いて、当該同一の命令に応じた演算を行う。パラメータデータは、専用計算機部10全体として目的の計算を行なうように各要素プロセッサに与えられるデータであり、一般には要素プロセッサごとに異なるデータとなっている。したがって、各要素プロセッサが同一のデータを対象に同一の命令に従った演算を行っても、演算結果は一般には要素プロセッサごとに異なっている。同一の命令とは、少なくともニモニック(またはオペコード)が同一である命令をいう。つまり、ニモニックが同一でオペランドに指定されるレジスタも同一である命令や、ニモニックが同一でオペランドに指定されるレジスタが異なる命令等をいう。これらの場合、各要素プロセッサのレジスタには一般には異なるデータが格納されているので演算の種類が同一であっても、一般には、異なる演算結果となる。
各要素プロセッサは、命令に従ってレジスタファイルRや共有レジスタファイルSRに対して演算を行い、その結果をメモリに格納する。ここで、数値計算の中には、外部メモリへのアクセスを行なう必要がなく、要素プロセッサ内のレジスタファイルを用いて行なえる演算が殆どとなるものがある。この非限定的な例としては、従来技術であるGRAPE型計算機によって行なってきた多数粒子の重力等の計算や、大規模な次元の行列の積の数値計算などがある。本発明では、演算処理装置1の各要素プロセッサの処理がプログラムに基づく命令によって制御されるため、専用計算機部10を処理に合わせて適切に動作させるプログラムを組むことにより、同一のハードウエア構成を用いて、複数の種類の計算を高速に行なうことができる。例えば、プログラムを変更するだけで、同一のハードウエア構成によって多数粒子の重力等の計算を行なったり、行列の積の計算を行なったりすることができる。
複数の要素プロセッサはグループ化されていることができる。図2においては、要素プロセッサはプロセッサグループPG1〜PGKにグループ化され、それぞれのプロセッサグループPG1〜PGKには、共有レジスタファイルSR1〜SRKが備えられている。共有レジスタファイルSR1〜SRKはグループ内の各要素プロセッサからアクセス可能である。共有レジスタファイルを用いることにより、グループ内のある要素プロセッサによって演算されたデータを、外部メモリ2にアクセスすることなく他の要素プロセッサによって参照することができる。
本実施の形態の演算処理装置1においては、各要素プロセッサのレジスタやプロセッサグループの共有レジスタと外部メモリとの間において、さまざまな転送モードを有する。外部メモリから要素プロセッサのレジスタファイルへの書き込みモードは、複数の要素プロセッサに対する同報モードと個々の要素プロセッサに対するランダムアクセスモードとを有し、レジスタファイルから外部メモリへの読み出しモードは、個々の要素プロセッサに対するランダムアクセスモードを有している。また、要素プロセッサがグループ化されている場合には、共有メモリから外部メモリへの読み出モード、または、外部メモリから共有メモリへの書き込みモードの少なくともいずれかには、複数の要素プロセッサに対する同報モード、個々の要素プロセッサに対するランダムアクセスの転送モードを有している。この場合には、外部メモリからレジスタファイルへの書き込みモードは、グループ内の全ての要素プロセッサに対する同報モード、複数のグループ内の要素プロセッサに対する同報モードをさらに有しレジスタファイルから外部メモリへの読み出しは、グループ内の縮約を伴う読み出しモードをさらに有している。
本実施の形態の演算処理装置1においては、ベクトル命令を備えていることができる。ベクトル命令を用いれば、多数のオペランドの組合わせに対して同一の命令を実行することができ、複数の要素プロセッサによって並行して計算を行なう本実施の形態の演算処理装置1において命令を同報する際のバンド幅が節約できる。本実施の形態の演算処理装置1においては、ベクトル命令のベクトル長(命令長)は様々に変更することができ、ベクトル長を直接または間接的に指定するためのオペランドをそのベクトル命令に含めることができる。これにより、計算目的に合わせた柔軟なベクトル長を選択することができる。
本実施の形態の演算処理装置1においては、アドレスオフセットを用いた間接アドレッシングを用いることができる。間接アドレッシングを用いることにより区分多項式を用いて演算を行うことができ、べき乗や初等関数の数値計算がより高速に行なうことができる。
一般に浮動小数点で積算の演算を行う場合には、演算順序によって結果が変わる。本実施の形態の演算処理装置1においては、この問題を解決するために、実質的に固定小数点演算となる手法によって積算を行なうことができる。すなわち、本実施の形態においては、演算結果に正規化を行なわない浮動小数点加算を導入する。要素プロセッサに備えられるアキュムレータの指数に、積算途中で表れ得る値よりも大きな指数を設定しておいて、加算後の正規化を実行しない演算を行えば、積算結果が積算の順序に依存しなくなる。このような演算を可能にするために、本実施の形態においては、そのために何れのソースオペランドの指数を用いるかを定めるフラグ(モードビット)を設けることができる。
本実施の形態の演算処理装置1においては、主たる計算の用途は数値計算であるが、各種の条件処理を行なうために論理演算器を用いることができる。なお、乗算や除算の演算器の論理構成は、従来のALUに見られる論理構成と同様である。
本実施の形態の演算処理装置1の各要素プロセッサにおける算術演算器には、パイプラインを用いることができる。また、複数の要素プロセッサを一つのパイプラインとするようにパイプライン構成とすることもできる。このようにパイプラインを用いて実装すれば、メモリアクセスの少ない本実施の形態の演算処理装置1の演算処理効率がさらに高くなる。
図3に基づいて、多数の粒子が重力、クーロン力により相互作用する場合の計算について、本発明の演算処理装置を用いて計算を行なう場合の動作について説明する。多数の粒子に対して式(1)に示す中心力ポテンシャルによる相互作用の力を計算し、その相互作用の合力を求めることにより、運動方程式を用いてその後の各粒子の位置を算出することができる。本実施例においては、各要素プロセッサは特定の粒子を担当し、その担当する粒子に作用する他の粒子(作用粒子)からの力を作用粒子を順次変更しながら積算する。計算は、全般に浮動小数点演算によって行なう。
図4に基づいて、n×nの正方行列同士の行列積を求める計算について、本発明の演算処理装置で計算を行なう場合の動作について説明する。行列A、Bの行列積Cは、cij=Σkaikbkj)を計算することにより求められる。ここで、aik、bkj、cijは、A,B,Cそれぞれの要素である。本実施例においては、c11を算出する計算は要素プロセッサP11が担当し、c12を算出する計算は要素プロセッサP12が担当する。同様に、c21を算出する計算は要素プロセッサP21が担当する。このようにして、c11〜cnnは要素プロセッサP11〜Pnnが計算を担当する。
14 制御プロセッサ
12 半導体ダイ
PG1〜PGK プロセッサグループ
SR1〜SRK 共有レジスタ
P11〜PKM 要素プロセッサ
R レジスタファイル
122 外部バスインターフェース
2 外部メモリ
100 コンピュータシステム
10 専用計算機部
10−1〜10−Z アダプタカード
20 ホストコンピュータ
22 中央演算装置(CPU)
24 主記憶装置
28 補助記憶装置
30 表示手段
32 入力操作手段
26 バス
34 入出力手段
Claims (8)
- 同一のメモリーポートを通じて外部メモリと通信可能な複数の要素プロセッサと、
該要素プロセッサに命令とアドレスとを送り、該要素プロセッサを動作させるための制御プロセッサと
を備えてなる演算処理装置であって、
前記複数の要素プロセッサのそれぞれは、論理演算器と算術演算器とレジスタファイルとを備えており、
前記複数の要素プロセッサのうちの少なくとも二つの要素プロセッサは、前記動作に用いる異なるパラメータデータを予め受け取って前記レジスタファイルに格納し、前記制御プロセッサから前記動作のために同報される同一の命令を受け取り、前記外部メモリから同一のデータを前記メモリーポートを通じて読み込み、該同一のデータと前記異なるパラメータデータとに対して、前記同一の命令に応じた論理演算または算術演算の少なくともいずれかの演算を行なうものである、演算処理装置。 - 前記複数の要素プロセッサは、少なくとも二つの要素プロセッサをそれぞれが含む複数のグループにグループ化されており、該グループごとに共有メモリが備えられている、請求項1に記載の演算処理装置。
- 前記外部メモリから前記レジスタファイルへの書き込みモードは、複数の要素プロセッサに対する同報モードと個々の要素プロセッサに対するランダムアクセスモードとを有し、
前記レジスタファイルから前記外部メモリへの読み出しモードは、個々の要素プロセッサに対するランダムアクセスモードを有する、請求項1に記載の演算処理装置。 - 前記共有メモリから前記外部メモリへの読み出しモードにはランダムアクセスとグループをまたがった縮約を伴う読み出しモードとを有し、
前記外部メモリから前記共有メモリへの書き込みモードには、複数の要素プロセッサに対する同報モード、個々の要素プロセッサに対するランダムアクセスの転送モードを有し、
前記外部メモリから前記レジスタファイルへの書き込みモードは、グループ内の全ての要素プロセッサに対する第1同報モード、複数のグループ内の要素プロセッサに対する第2同報モードを有する、請求項2に記載の演算処理装置。 - 前記命令にはベクトル命令が含まれており、該ベクトル命令のベクトル長は所定の範囲内において任意に指定可能なものである、請求項1〜4のいずれかに記載の演算処理装置。
- 前記データには、1ビットの符号ビットと11ビットの指数ビットと60ビットの仮数部ビットとから構成される72ビット長の浮動小数点形式のデータが含まれており、
前記算術演算器には乗算器と加算器が含まれており、
前記命令には、単精度乗算命令および倍精度乗算命令を有する乗算命令と、通常浮動小数点加減算命令およびモードビットを含むブロック浮動小数点加減算命令を有する加減算命令とが含まれており、
前記乗算器は、入力データが該乗算器へ入力される前に、該入力データの仮数部のバイアスを修正し、前記単精度乗算命令を受け取ると、乗算の演算結果を丸め処理によって25ビットにし、前記倍精度乗算命令を受け取ると、乗算の演算結果に丸め処理を行なわないものであり、
前記加算器は、通常浮動小数点加減算命令を受け取ると、演算結果に丸め処理を行なって演算を行い、ブロック浮動小数点加減算命令を受け取ると、演算に用いる少なくとも二つの浮動小数点データのオペランドにより指定された入力のうち、前記モードビットで指定された側のソースオペランドに対応する入力における指数に合わせて他方のソースオペランドの指数をシフトして演算を行い、演算結果に対する正規化を行なわないものである、請求項1に記載の演算処理装置。 - 前記丸め処理の少なくともいずれかが強制1丸め処理である、請求項6に記載の演算処理装置。
- 前記レジスタファイルに対するアドレスの指定において、アドレスオフセットを用いた間接アドレッシングを行なうことができる、請求項1〜6のいずれかに記載の演算処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004216728A JP4477959B2 (ja) | 2004-07-26 | 2004-07-26 | ブロードキャスト型並列処理のための演算処理装置 |
US11/189,186 US7558943B2 (en) | 2004-07-26 | 2005-07-26 | Processing unit for broadcast parallel processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004216728A JP4477959B2 (ja) | 2004-07-26 | 2004-07-26 | ブロードキャスト型並列処理のための演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006039790A true JP2006039790A (ja) | 2006-02-09 |
JP4477959B2 JP4477959B2 (ja) | 2010-06-09 |
Family
ID=35658612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004216728A Expired - Lifetime JP4477959B2 (ja) | 2004-07-26 | 2004-07-26 | ブロードキャスト型並列処理のための演算処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7558943B2 (ja) |
JP (1) | JP4477959B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007317179A (ja) * | 2006-05-08 | 2007-12-06 | Nvidia Corp | 帯域幅要件が軽減された行列乗算 |
JP2010003151A (ja) * | 2008-06-20 | 2010-01-07 | Renesas Technology Corp | データ処理装置 |
US8521673B2 (en) | 2008-01-25 | 2013-08-27 | Seiko Epson Corporation | Parallel processing device and parallel processing method |
JP5708634B2 (ja) * | 2010-02-24 | 2015-04-30 | 日本電気株式会社 | Simdプロセッサ |
JP2016517570A (ja) * | 2013-03-13 | 2016-06-16 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 |
JP2018139134A (ja) * | 2006-09-22 | 2018-09-06 | インテル コーポレイション | 命令に応じた丸め処理の実行 |
JP2019159722A (ja) * | 2018-03-12 | 2019-09-19 | 富士通株式会社 | 情報処理装置、演算処理装置及び情報処理装置の制御方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595467B2 (en) * | 2009-12-29 | 2013-11-26 | International Business Machines Corporation | Floating point collect and operate |
US8976352B2 (en) * | 2011-08-30 | 2015-03-10 | Sony Corporation | Microparticle analysis apparatus |
EP3757754B1 (en) * | 2016-11-14 | 2023-01-04 | Google LLC | Sorting for data-parallel computing devices |
US11157237B2 (en) | 2018-11-13 | 2021-10-26 | Hewlett Packard Enterprise Development Lp | Memristive dot product circuit based floating point computations |
WO2024123988A1 (en) * | 2022-12-07 | 2024-06-13 | Mobileye Vision Technologies Ltd. | Sum of squares pipelined floating-point calculations |
WO2024123981A1 (en) * | 2022-12-07 | 2024-06-13 | Mobileye Vision Technologies Ltd. | Sum of squares pipelined floating-point calculations |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6135645A (ja) | 1984-07-27 | 1986-02-20 | Fujitsu Ltd | 郡別同報通信方式 |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
JP3223549B2 (ja) | 1991-12-24 | 2001-10-29 | ソニー株式会社 | Simd型並列演算装置 |
CA2129882A1 (en) * | 1993-08-12 | 1995-02-13 | Soheil Shams | Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same |
JPH0830577A (ja) * | 1994-07-15 | 1996-02-02 | Mitsubishi Electric Corp | Simdプロセッサ |
JP2657903B2 (ja) | 1994-11-29 | 1997-09-30 | 乾彌 呉 | パイプライン式及び心収縮式の単命令多重データストリームのアレイプロセッサ及びその方法 |
US5680597A (en) * | 1995-01-26 | 1997-10-21 | International Business Machines Corporation | System with flexible local control for modifying same instruction partially in different processor of a SIMD computer system to execute dissimilar sequences of instructions |
US6219776B1 (en) * | 1998-03-10 | 2001-04-17 | Billions Of Operations Per Second | Merged array controller and processing element |
US6173386B1 (en) * | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
US7191310B2 (en) * | 2000-01-19 | 2007-03-13 | Ricoh Company, Ltd. | Parallel processor and image processing apparatus adapted for nonlinear processing through selection via processor element numbers |
US7904905B2 (en) * | 2003-11-14 | 2011-03-08 | Stmicroelectronics, Inc. | System and method for efficiently executing single program multiple data (SPMD) programs |
-
2004
- 2004-07-26 JP JP2004216728A patent/JP4477959B2/ja not_active Expired - Lifetime
-
2005
- 2005-07-26 US US11/189,186 patent/US7558943B2/en active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007317179A (ja) * | 2006-05-08 | 2007-12-06 | Nvidia Corp | 帯域幅要件が軽減された行列乗算 |
JP2018139134A (ja) * | 2006-09-22 | 2018-09-06 | インテル コーポレイション | 命令に応じた丸め処理の実行 |
US8521673B2 (en) | 2008-01-25 | 2013-08-27 | Seiko Epson Corporation | Parallel processing device and parallel processing method |
JP2010003151A (ja) * | 2008-06-20 | 2010-01-07 | Renesas Technology Corp | データ処理装置 |
JP5708634B2 (ja) * | 2010-02-24 | 2015-04-30 | 日本電気株式会社 | Simdプロセッサ |
JP2016517570A (ja) * | 2013-03-13 | 2016-06-16 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 |
JP2019159722A (ja) * | 2018-03-12 | 2019-09-19 | 富士通株式会社 | 情報処理装置、演算処理装置及び情報処理装置の制御方法 |
JP7172068B2 (ja) | 2018-03-12 | 2022-11-16 | 富士通株式会社 | 情報処理装置、演算処理装置及び情報処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US7558943B2 (en) | 2009-07-07 |
US20060020770A1 (en) | 2006-01-26 |
JP4477959B2 (ja) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7558943B2 (en) | Processing unit for broadcast parallel processing | |
JP6599522B2 (ja) | コンパクトな演算処理要素を用いたプロセッシング | |
EP3552090B1 (en) | Block floating point for neural network implementations | |
JP7374236B2 (ja) | 加速数学エンジン | |
US20210311734A1 (en) | Generalized acceleration of matrix multiply accumulate operations | |
EP0377837B1 (en) | Floating point unit having simultaneous multiply and add | |
Allan et al. | Parameterised floating-point arithmetic on FPGAs | |
US10678509B1 (en) | Software-driven design optimization for mapping between floating-point and fixed-point multiply accumulators | |
US10943039B1 (en) | Software-driven design optimization for fixed-point multiply-accumulate circuitry | |
US20210326111A1 (en) | FPGA Processing Block for Machine Learning or Digital Signal Processing Operations | |
US20210389948A1 (en) | Mixed-element-size instruction | |
Minhas et al. | GPU vs FPGA: A comparative analysis for non-standard precision | |
CN108139886B (zh) | 用于图像处理器的多功能执行通道 | |
Lei et al. | FPGA implementation of an exact dot product and its application in variable-precision floating-point arithmetic | |
CN110199255B (zh) | 组合若干执行单元以计算单一宽标量结果 | |
Isupov et al. | Computing the Sparse Matrix-Vector Product in High-Precision Arithmetic for GPU Architectures | |
Zhao | Matrix inversion on a many-core platform | |
Chen et al. | Implementation of vector floating-point processing unit on FPGAs for high performance computing | |
Tan et al. | A Multi-level Parallel Integer/Floating-Point Arithmetic Architecture for Deep Learning Instructions | |
US20230110383A1 (en) | Floating-point logarithmic number system scaling system for machine learning | |
Akella et al. | Sparse matrix-vector multiplication kernel on a reconfigurable computer | |
Sajish et al. | Floating point matrix multiplication on a reconfigurable computing system | |
CN116997888A (zh) | 矩阵乘法运算的矩阵的近似 | |
JP2013515319A (ja) | 分岐なし高速ベクトル除算計算 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070723 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090518 |
|
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: 20100305 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100312 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4477959 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |