JP2012530966A - コンパクトな演算処理要素を用いたプロセッシング - Google Patents
コンパクトな演算処理要素を用いたプロセッシング Download PDFInfo
- Publication number
- JP2012530966A JP2012530966A JP2012516227A JP2012516227A JP2012530966A JP 2012530966 A JP2012530966 A JP 2012530966A JP 2012516227 A JP2012516227 A JP 2012516227A JP 2012516227 A JP2012516227 A JP 2012516227A JP 2012530966 A JP2012530966 A JP 2012530966A
- Authority
- JP
- Japan
- Prior art keywords
- lphdr
- processing
- precision
- input
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 230
- 238000004364 calculation method Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims description 132
- 230000008569 process Effects 0.000 claims description 49
- 238000007667 floating Methods 0.000 abstract description 32
- 238000012360 testing method Methods 0.000 description 77
- 238000013461 design Methods 0.000 description 56
- 238000004422 calculation algorithm Methods 0.000 description 42
- 239000013598 vector Substances 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 27
- 230000007246 mechanism Effects 0.000 description 26
- 238000003860 storage Methods 0.000 description 20
- 238000007792 addition Methods 0.000 description 19
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 18
- 238000013459 approach Methods 0.000 description 15
- 229910052710 silicon Inorganic materials 0.000 description 14
- 239000010703 silicon Substances 0.000 description 14
- 230000008901 benefit Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 241000321461 Mycteroperca phenax Species 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 235000021251 pulses Nutrition 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003325 tomography Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 235000010582 Pisum sativum Nutrition 0.000 description 1
- 240000004713 Pisum sativum Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013142 basic testing Methods 0.000 description 1
- 229960000074 biopharmaceutical Drugs 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009510 drug design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012617 force field calculation Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000329 molecular dynamics simulation Methods 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 229920000120 polyethyl acrylate Polymers 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000011426 transformation method Methods 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/4833—Logarithmic number system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/5235—Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
-
- 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/46—Multiprogramming arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
演算要素が存在するならば、演算要素の数をはるかに超える(例えば、少なくとも20+3倍の数だけ超える)ものである。ここでいう演算要素は、プロセッサーやその他のデバイスの中に在って、従来の精度(32ビットあるいは64ビットの浮動小数点演算のような精度)で、ハイ・ダイナミック・レンジの演算を行うように設計された演算要素をいう。
Description
かかるプロセッサーあるいはその他のデバイスは、例えば、単一のチップに実装されている。 単一のチップに実装されているか否かにかかわらず、本発明のある実施例におけるプロセッサーあるいはその他のデバイスで使用されるLPHDR演算要素の数は、従来の精度を有するハイ・ダイナミック・レンジの演算(32ビットまたは64ビット浮動小数点演算のような演算)を実行するために設計された当該プロセッサーあるいはその他のデバイスで使用されている演算要素の数をはるかに超えるようになっている。
また、ある実施例においては、処理要素はインプットを処理し、そして/又は、少なくとも100万分の1から100万までの広がりを有するレンジのアウトプットを出力する能力を有するという意味で、処理要素は「ハイ・ダイナミック・レンジ」を有している。
しかし、整数、と特に浮動小数点数に対する乗算や除算のような演算処理には、多くのゲートが必要になり、FPGAの汎用のリソースの大部分を使い切ってしまうことになる。 このような理由から、最新のFPGAsでは、FPGAsのかなりの比率の領域を、数ダースあるいは数百の乗算ブロックを提供するために割り当てている。 そしてこの数ダースあるいは数百の乗算ブロックは、乗算を必要とする計算のために、汎用のリソースの代わりに使用できるようになっている。 これらの乗算ブロックは、典型的には18ビットあるいはそれ以上の幅の整数の乗算を実行するものであって、多くのトランジスターを使用するものである。 そして、これらの乗算ブロックは、汎用CPUの一部として機能する乗算回路と同様である。
「このフォーマットは、OpenEXR、OpenGL、D3DXを含むいくつかのコンピュータ・グラフィックス環境において使用されている。 8ビットまたは16ビット2進整数に対する利点は、拡大されたダイナミック・レンジによってハイライト部分と影の部分においてより詳細に保存できるということである。 32ビット単精度2進数フォーマットに対する利点は、記憶容量およびバンド幅が半分になることである。」
しかし、デジタルトランジスターは、実際のところ、デジタル的手法で使用されているアナログ・トランジスターであり、デジタル回路は、実際のところ、完全に「ON」の状態と、完全に「OFF」の状態に、トランジスターをスイッチングするように設計されたものである。 デジタル技術の拡張は継続するが、このようにトランジスターを使用することは、アナログ挙動の現実に直面し始めることになる。 デジタル的使用方法におけるトランジスターの拡張は、行き詰るか、あるいは、デジタル設計者はアナログの問題を認識し、アナログの問題を取り扱うことが必要になると考えられている。 このような理由のために、LPHDR演算におけるデジタル的な実施例はもはや、容易であって、信頼でき、かつ拡張可能なものとは言えない。 そして、LPHDR演算におけるアナログ的な実施例は、商業上のアーキテクチャーとして優位に立つようになる可能性がある。
しかし、実際のところ、ある種の有用で、重要なアルゴリズムは、大規模並列計算のフレームワークにおいて、32ビット精度以下であっても適切に機能させることができる。 そして、本発明のある実施例では、そのようなアルゴリズムをサポートしており、したがって、トランジスターを効率的に使用するようになっている。 その結果、従来のコンピュータに比較して、スピード、消費電力、及び/又はコストを向上させている。
しかし、本発明の実施例に従って実施されるデバイスは、既存のプロセッサーの設計をそのまま使用してスタートする必要はかならずしもなく、まさにここで述べたアーキテクチャあるいはその他のアーキテクチャーの中にLPHDR演算ユニットを含めるために、本発明の実施例に従って実施されるデバイスを最初から設計するようにしても良い。
本発明の一つの実施例は、図1に示すようなSIMDコンピューティング・システムであり、本明細書における用語を使えば、処理要素アレイ(PEA) 104中における一つ又はそれ以上(例えば、全て)のPEsはLPHDR処理要素になる。
「100000 000000」に対応し、約2.33E-10の値を意味するものである。
加算について考えてみる。 対数bおよびcで表される二つの正の数BおよびCについて考えると、BとCの和は、log(B+C)で表される。 この結果を計算するアプローチは、当業者にとって良く知られた方法で、以下のような表示に基づく。
Log(B+C)=log(B*(1+C/B))=log(B)+log(1+C/B)=b+F(c-b)
ここで、F(x)=log(1+2^x)
従って、本実施例では、当業者に良く知られた標準的なデジタル技術を使用することにより、c-bを計算し、Fに代入し、その結果をbに加えている。
なお、このモデルは、本発明の実施例に係るバリエーションの有効性を論証するためにだけ例示するものであり、本発明を限定するためのものではないことに留意すべきである。 このモデルは、特に、デジタル形式、アナログ形式、あるいはこれらを複合したもので実行し、ノイズがゼロまたはノイズを有するものであり、FPGA、SIMD、MIMDのようなアーキテクチャーやモデルの前提条件に適合したアーキテクチャーを備えている。 そして、共有メモリ設計、GPUのような設計、あるいはその他の洗練された設計などの、一般的なアーキテクチャーは、このモデルの能力を組み込んでいる。 そのため、これらのアーキテクチャーを使ったLPHDR演算は、更に有用なものとなっている。 ここでは、LPHDR演算は広い範囲の設計に対して有効であることを示しているが、広い範囲の設計の中のSIMDは、以下のディスカッションのための一つの例として示すものであり、各ユニットを「処理要素」又は「PE」と呼んでいる。 そして、各ユニットはメモリーと演算を組み合わせている。
第1の要求事項は、「精度」に関する事項あり、第2の要求事項は、「効率」に関する事項である。 この二つの要求事項を満たし、このモデルで動作するアプリケーションは、多くの種類のLPHDRマシン上で十分に機能するものと考えられ、従って、このような本発明のマシンは幅広く有効活用できるものである。
アプリケーション1: 最近傍探索
本発明の実施例に従い、実装されたマシンによって実行することができるアルゴリズムについて以下に説明する。 そして、アルゴリズムを実行するための命令を含む実行ソフトウェアよって、アルゴリズムは実行される。 このアルゴリズムへの入力は、1セットのExamplesとTestベクトルである。 そして、このアルゴリズムは、Testに最も近い(あるいはほぼ最も近い)Exampleを見つけ出すものである。
C言語でコーディングされ、上述したような機能強化したアルゴリズムによって実行された演算について説明する。 このコードでは、後で述べるような重みづけしたスコアと共に、上述した最も近い近隣のものを計算する。
% ./a.out 5 10 1000000 100 1
表現形式は浮動小数点形式であり、ノイズ有
Run 1: 100 Testに対し実行、100(100.0%)適合性, 0.81%平均スコア誤差
Run 2: 100 Testに対し実行、100(100.0%)適合性, 0.84%平均スコア誤差
Run 3: 100 Testに対し実行、100(100.0%)適合性, 0.98%平均スコア誤差
Run 4: 100 Testに対し実行、100(100.0%)適合性, 0.81%平均スコア誤差
Run 5: 100 Testに対し実行、100(100.0%)適合性, 0.94%平均スコア誤差
Run 6: 100 Testに対し実行、100(100.0%)適合性, 0.82%平均スコア誤差
Run 7: 100 Testに対し実行、100(100.0%)適合性, 0.78%平均スコア誤差
Run 8: 100 Testに対し実行、100(100.0%)適合性, 0.86%平均スコア誤差
Run 9: 100 Testに対し実行、100(100.0%)適合性, 0.85%平均スコア誤差
Run 10: 100 Testに対し実行、99(99.0%)適合性, 0.86%平均スコア誤差
ここで、LPHDR演算が最も近いExampleを見つけ出した回数の平均パーセント(最終的にDPによる修正を行ったもの)=99.90%
LPHDR演算とDPとの対比による平均スコア誤差の平均値=0.85%
% ./a.out 5 10 1000000 100 0
表現形式はlns形式であり、ノイズ無
Run 1: 100 Testに対し実行、100(100.0%)適合性, 0.15%平均スコア誤差
Run 2: 100 Testに対し実行、100(100.0%)適合性, 0.07%平均スコア誤差
Run 3: 100 Testに対し実行、100(100.0%)適合性, 0.08%平均スコア誤差
Run 4: 100 Testに対し実行、100(100.0%)適合性, 0.09%平均スコア誤差
Run 5: 100 Testに対し実行、100(100.0%)適合性, 0.11%平均スコア誤差
Run 6: 100 Testに対し実行、100(100.0%)適合性, 0.16%平均スコア誤差
Run 7: 100 Testに対し実行、100(100.0%)適合性, 0.07%平均スコア誤差
Run 8: 100 Testに対し実行、100(100.0%)適合性, 0.13%平均スコア誤差
Run 9: 100 Testに対し実行、99(99.0%)適合性, 0.17%平均スコア誤差
Run 10: 100 Testに対し実行、98(98.0%)適合性, 0.16%平均スコア誤差
ここで、LPHDR演算が最も近いExampleを見つけ出した回数の平均パーセント(最終的にDPによる修正を行ったもの)=99.70%
LPHDR演算とDPとの対比による平均スコア誤差の平均値=0.12%
Run 1: 100 Testに対し実行、97(97.0%)適合性
Run 2: 100 Testに対し実行、100(100.0%)適合性
Run 3: 100 Testに対し実行、100(100.0%)適合性
Run 4: 100 Testに対し実行、98(98.0%)適合性
Run 5: 100 Testに対し実行、98(98.0%)適合性
Run 6: 100 Testに対し実行、99(99.0%)適合性
Run 7: 100 Testに対し実行、99(99.0%)適合性
Run 8: 100 Testに対し実行、99(99.0%)適合性
Run 9: 100 Testに対し実行、99(99.0%)適合性
Run 10: 100 Testに対し実行、99(99.0%)適合性
ここで、LPHDR演算が最も近いExampleを見つけ出した回数の平均パーセント(最終的にDPによる修正を行ったもの)=98.80%
驚くべき精度の結果に対し、ここで示した計算モデルにおいて、最近傍探索の機能強化したアルゴリズムによる計算が効率良く実行されたということは、この技術分野における通常の知識を有する者にとっては明らかなことである。 ここで、マシンの演算/メモリーのユニットは2次元的な物理的配置で接続されており、処理要素(PEs)間のローカルな通信のみを使用したものである。 しかし、このことは、ホスト・マシンに対して狭いバンド幅を使い、有用な作業を行わせて、マシンを使用中の状態に維持することを狙ったものではない。
アプリケーション2: 距離の重みづけスコアリング
そして、各Exampleに対する非正規化された重みは、ExampleからTestベクトルまでの距離の2乗プラス1の和の逆数であると定義されている。 上述したように、Cコードは、多数の計算を実行し、その計算において多くのExamplesとTestsを導き出し、そして、「fp+ノイズ」形式および「lns」形式を使用して計算された結果と従来の浮動小数点による計算結果とを比較した。
アプリケーション3: 画像の動きに起因するぼやけの除去
Richardson-Lucyの方法によるアルゴリズムはよく知られ、幅広く利用されている。 この方法では、画像は既知のカーネルによって、ぼやけさせられていると仮定する。 特に、このカーネルは直線であると仮定し、「ぼやけ」が純粋に水平方向にのみ生じるように画像が方向づけられているものと仮定する。 ぼやけた画像の各列におけるJ番目のピクセルに対する特定のカーネルが、ぼやけていない画像のJ番目からJ+31番目のピクセルの一様に重みづけした平均値であると考える。
Cプログラミング言語を使い、LPHDR演算を使用したRL手法の簡単なバージョンについて計算を実行した。 このプログラムでは、テスト画像を読み込み、上述したようなカーネルを使って画像をぼやけさせ、そして、「fp+ノイズ」形式か「lns」形式のいずれかの演算方式を使用して画像のぼやけ除去を行った。 ぼやけ除去を行った画像の現状の近似値でカーネルをコンボルーション(たたき込み積分)する際のように、RL手法のアルゴリズムによって和を計算した。 この計算の実行にあたっては、最初にのべたように、Kahanの手法を使用してこれらの和を求める計算を行なった。 図7は、テスト画像のオリジナルの状態を示したものである。 このテスト画像は、バラク・オバマの就任式に使われた建物の衛星画像である。 図8は、カーネルによって極端にぼやけさせられた画像を示すものである。 この画像では、いずれの特定の対象物をも見分けることができない。 図9は、標準の浮動小数点演算を使用して、ぼやけ除去を行った結果を示すものである。 図10は、「fp+ノイズ」形式の演算を使用して、ぼやけ除去を行った結果を示すものである。 そして、図11は、「lns」形式の演算を使用して、ぼやけ除去を行った結果を示すものである。 これらの全てのケースで、画像は、建物、道路、パーキング・ロット、および車を識別することができる状態で、再保存された。
局所的なカーネルを使用したRichardson-Lucyの方法は、局所的な計算処理のみを行うものであることは、いわゆる当業者には自明なことである。 ぼやけ除去するべき画像は、処理要素(PE)のアレイの中へロードすることができ、処理要素(PE)毎に一つまたはそれ以上のピクセルを保存し、RL手法のアルゴリズムによるデコンボルーション処理を数十回または数百回繰り返すことができる。 そして、ぼやけ除去された画像は、ホスト・プロセッサーに戻され、読み込まれるようになっている。 十分に長い繰り返し処理を行う限り、マシンを効率よく使用することができる。
しかし、一般的な演算能力のような重要な機能を維持しており、SIMDマシンのプロセッシング・エレメントが特に小さく作ることができれば、SIMDのアーキテキチャーは有用なものとなる。 ここで示した実施例は、まさにこのような品質を備えたものである。
別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して0.1%以上離れた結果を生み出す。
別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して0.2%以上離れた結果を生み出す。
更に、別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して0.5%以上離れた結果を生み出す。
更に、別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して1%、あるいは2%、あるいは5%、あるいは10%、あるいは20%以上離れた結果を生み出す。
更に別の例として、ある実施例では、LPHDR演算要素は、ほぼ65,000分の1から65,000までの範囲を有するレンジの空間において、数値を処理する。 更に別の例として、ある実施例では、LPHDR演算要素は、0と65,000分の1の間にある特定の値から、65,000よりも大きい特定の値までの範囲を有するレンジの空間において、数値を処理する。 更に別の例として、別の実施例であるLPHDR演算要素は、前述の例で示した範囲内あるいは前述の例で示した範囲を組み合わせたダイナミック・レンジ、例えば、ほぼ10億分の1から1000万までの範囲のレンジを備えた空間において、数値を処理することができる。 別の実施例と同様、本発明として例示したこれらの全ての実施例において、議論の対象となっている数値は、符号の付いたものであり、そして、上述の議論は取り扱う数値の絶対値の特性を論ずるものである。
別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して0.1%以上離れた結果を生み出す。
別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して0.2%以上離れた結果を生み出す。
更に、別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して0.5%以上離れた結果を生み出す。
更に、別の実施例として、LPHDR演算要素は、往々にして(あるいは常に)、正しい結果に対して1%、あるいは2%、あるいは5%、あるいは10%、あるいは20%以上離れた結果を生み出す。
Claims (2)
- 複数の低精度ハイ・ダイナミック・レンジ(LPHDR)実行ユニットであって、複数の第2の数値を表す複数の第1の出力信号を生み出すために、複数の第1の数値を表す複数の第1の入力信号に対して複数の第1の処理を並列に実行するように構成されており、
複数のLPHDR実行ユニットの各々に関するものであって、
LPHDR実行ユニットが実行できるように構成された少なくとも1回の処理に関して、
少なくとも1つの処理への許容できる有効な入力のダイナミック・レンジは、少なくとも1/65,000から65,000までの幅を有し、当該処理への許容できる有効な入力の少なくとも5%に関して、そして当該処理によって生み出される少なくとも1つの出力信号に関して、当該処理への許容できる有効な入力の少なくとも5%から同じ入力までの繰り返し実行される当該処理において、その入力に対する当該処理を実行するLPHDR演算実行ユニットの少なくとも1つの出力信号によって表される数値の統計学的平均が、その同じ入力の数値に対する処理の正確な数学的計算の結果より少なくとも0.05%だけ異なる
LPHDR演算実行ユニットと、
少なくとも1つの高精度演算実行ユニットであって、少なくとも1つの第4の数値を表す少なくとも1つの第2の出力信号を生み出すために、少なくとも1つの第3の数値を表す少なくとも1つの第2の入力信号に対する少なくとも1つの第2の演算処理を実行するように構成されており、
少なくとも1つの高精度演算実行ユニットは、32ビットまたはそれ以上のビット幅を有する浮動小数点数に対して、少なくとも1回の演算処理を実行するように構成されている
高精度実行ユニットとからなり、
デバイス中のLPHDR演算実行ユニットの数は、少なくとも1つの高精度実行ユニットの数に対して、少なくとも20+3x[高精度実行ユニットの数]だけ超えた数である
ことを特徴とするデバイス。 - 第1の低精度ハイ・ダイナミック・レンジ(LPHDR)演算実行ユニットであって、第2の数値を表す第1の出力信号を生み出すために、第1の数値を表す第1の入力信号に対して第1の演算処理を実行するように構成されており、
第1の処理への許容できる有効な入力のダイナミック・レンジは、少なくとも1/65,000から65,000までの幅を有し、第1の処理への許容できる有効な入力の少なくとも5%に関して、第1の処理への許容できる有効な入力の少なくとも5%から各特定の入力までの繰り返し実行される第1の処理において、その入力に対する第1の処理を実行するLPHDR演算実行ユニットの第1の出力信号によって表される数値の統計学的平均が、その同じ入力の数値に対する第1の演算処理の正確な数学的計算の結果より少なくとも0.05%だけ異なる
LPHDR演算実行ユニットを備え、
32ビットまたはそれ以上のビット幅を有する浮動小数点数に対して、少なくとも1回の演算処理を実行するように構成されている高精度演算実行ユニットを備えていない
ことを特徴とするデバイス。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US21869109P | 2009-06-19 | 2009-06-19 | |
US61/218,691 | 2009-06-19 | ||
US12/816,201 | 2010-06-15 | ||
US12/816,201 US8150902B2 (en) | 2009-06-19 | 2010-06-15 | Processing with compact arithmetic processing element |
PCT/US2010/038769 WO2010148054A2 (en) | 2009-06-19 | 2010-06-16 | Processing with compact arithmetic processing element |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014077372A Division JP6184897B2 (ja) | 2009-06-19 | 2014-04-03 | コンパクトな演算処理要素を用いたプロセッシング |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012530966A true JP2012530966A (ja) | 2012-12-06 |
JP2012530966A5 JP2012530966A5 (ja) | 2014-06-19 |
Family
ID=43355205
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012516227A Pending JP2012530966A (ja) | 2009-06-19 | 2010-06-16 | コンパクトな演算処理要素を用いたプロセッシング |
JP2014077372A Active JP6184897B2 (ja) | 2009-06-19 | 2014-04-03 | コンパクトな演算処理要素を用いたプロセッシング |
JP2017144389A Active JP6371451B2 (ja) | 2009-06-19 | 2017-07-26 | コンパクトな演算処理要素を用いたプロセッシング |
JP2018132055A Active JP6599522B2 (ja) | 2009-06-19 | 2018-07-12 | コンパクトな演算処理要素を用いたプロセッシング |
JP2019182315A Active JP6796177B2 (ja) | 2009-06-19 | 2019-10-02 | コンパクトな演算処理要素を用いたプロセッシング |
JP2020189077A Active JP7273018B2 (ja) | 2009-06-19 | 2020-11-13 | コンパクトな演算処理要素を用いたプロセッシング |
JP2022200644A Active JP7565998B2 (ja) | 2009-06-19 | 2022-12-15 | コンパクトな演算処理要素を用いたプロセッシング |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014077372A Active JP6184897B2 (ja) | 2009-06-19 | 2014-04-03 | コンパクトな演算処理要素を用いたプロセッシング |
JP2017144389A Active JP6371451B2 (ja) | 2009-06-19 | 2017-07-26 | コンパクトな演算処理要素を用いたプロセッシング |
JP2018132055A Active JP6599522B2 (ja) | 2009-06-19 | 2018-07-12 | コンパクトな演算処理要素を用いたプロセッシング |
JP2019182315A Active JP6796177B2 (ja) | 2009-06-19 | 2019-10-02 | コンパクトな演算処理要素を用いたプロセッシング |
JP2020189077A Active JP7273018B2 (ja) | 2009-06-19 | 2020-11-13 | コンパクトな演算処理要素を用いたプロセッシング |
JP2022200644A Active JP7565998B2 (ja) | 2009-06-19 | 2022-12-15 | コンパクトな演算処理要素を用いたプロセッシング |
Country Status (8)
Country | Link |
---|---|
US (17) | US8150902B2 (ja) |
EP (2) | EP2443551A4 (ja) |
JP (7) | JP2012530966A (ja) |
KR (1) | KR101235997B1 (ja) |
CN (2) | CN105760135B (ja) |
BR (1) | BRPI1011808A2 (ja) |
CA (1) | CA2768731C (ja) |
WO (1) | WO2010148054A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014199665A (ja) * | 2009-06-19 | 2014-10-23 | シンギュラー コンピューティング、エルエルシー | コンパクトな演算処理要素を用いたプロセッシング |
CN105843586A (zh) * | 2016-04-02 | 2016-08-10 | 严发宝 | 一种高速数据采集实时加除计算实现方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012052774A2 (en) * | 2010-10-21 | 2012-04-26 | Bluwireless Technology Limited | Data processing units |
US8971599B2 (en) * | 2010-12-20 | 2015-03-03 | General Electric Company | Tomographic iterative reconstruction |
CN102651121B (zh) * | 2011-02-23 | 2014-04-02 | 中国科学院声学研究所 | 一种基于fpga的3*3均值滤波算法的实现方法 |
US9553590B1 (en) * | 2012-10-29 | 2017-01-24 | Altera Corporation | Configuring programmable integrated circuit device resources as processing elements |
US9936579B2 (en) * | 2013-02-01 | 2018-04-03 | Apple Inc. | Low profile packaging and assembly of a power conversion system in modular form |
CN103647708A (zh) * | 2013-11-29 | 2014-03-19 | 曙光信息产业(北京)有限公司 | 基于atca的数据报文处理板 |
JP6381215B2 (ja) * | 2014-01-29 | 2018-08-29 | キヤノン株式会社 | 画像処理装置、画像処理方法、表示装置、表示装置の制御方法、及び、プログラム |
US10042813B2 (en) | 2014-12-15 | 2018-08-07 | Intel Corporation | SIMD K-nearest-neighbors implementation |
CN106126191B (zh) * | 2016-06-06 | 2018-07-31 | 大连大学 | 基于映射模块的16位加减法器的方法 |
US10007487B1 (en) | 2016-06-30 | 2018-06-26 | Altera Corporation | Double-precision floating-point operation |
CN106155814B (zh) * | 2016-07-04 | 2019-04-05 | 合肥工业大学 | 一种支持多种工作模式的可重构运算单元及其工作方式 |
CN107066706B (zh) * | 2017-03-27 | 2019-07-30 | 中国科学院计算技术研究所 | Gpu ffma指令在双发射模式下的通量测试方法 |
WO2018182742A1 (en) * | 2017-03-31 | 2018-10-04 | Intel Corporation | Computation unit composed of stacked resistive elements |
US10726514B2 (en) * | 2017-04-28 | 2020-07-28 | Intel Corporation | Compute optimizations for low precision machine learning operations |
EP3625670B1 (en) | 2017-05-17 | 2022-02-23 | Google LLC | Performing matrix multiplication in hardware |
US20180357287A1 (en) * | 2017-06-10 | 2018-12-13 | ScaleFlux, Inc. | Hybrid software-hardware implementation of edit distance search |
US10289413B2 (en) * | 2017-10-02 | 2019-05-14 | Advanced Micro Devices, Inc. | Hybrid analog-digital floating point number representation and arithmetic |
US11216250B2 (en) * | 2017-12-06 | 2022-01-04 | Advanced Micro Devices, Inc. | Dynamic, variable bit-width numerical precision on field-programmable gate arrays for machine learning tasks |
CN108089958B (zh) * | 2017-12-29 | 2021-06-08 | 珠海市君天电子科技有限公司 | Gpu测试方法、终端设备和计算机可读存储介质 |
DE102018209901A1 (de) * | 2018-06-19 | 2019-12-19 | Robert Bosch Gmbh | Recheneinheit, Verfahren und Computerprogramm zum Multiplizieren zumindest zweier Multiplikanden |
CN110865882B (zh) * | 2018-08-28 | 2022-07-08 | 清华大学 | 数据处理方法、装置、计算机设备和存储介质 |
CN109840067B (zh) * | 2019-01-14 | 2021-04-20 | 中国人民解放军国防科技大学 | 一种基于数学近似的浮点程序精度缺陷修复方法 |
US11106430B1 (en) * | 2019-05-16 | 2021-08-31 | Facebook, Inc. | Circuit and method for calculating non-linear functions of floating-point numbers |
CN112732220A (zh) * | 2019-10-14 | 2021-04-30 | 安徽寒武纪信息科技有限公司 | 用于浮点运算的乘法器、方法、集成电路芯片和计算装置 |
US11514594B2 (en) | 2019-10-30 | 2022-11-29 | Vergence Automation, Inc. | Composite imaging systems using a focal plane array with in-pixel analog storage elements |
CN111104091B (zh) * | 2019-12-12 | 2021-11-26 | 北京科技大学 | 一种动态浮点误差分析中精度特定计算的检测和转换方法 |
CN111126587B (zh) * | 2019-12-30 | 2021-02-02 | 上海安路信息科技有限公司 | 交并比电路 |
US11709225B2 (en) * | 2020-06-19 | 2023-07-25 | Nxp B.V. | Compression of data employing variable mantissa size |
US11188304B1 (en) * | 2020-07-01 | 2021-11-30 | International Business Machines Corporation | Validating microprocessor performance |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0675986A (ja) * | 1992-04-06 | 1994-03-18 | Internatl Business Mach Corp <Ibm> | 大規模並列コンピューティング・システム装置 |
Family Cites Families (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5346577B2 (ja) | 1974-03-25 | 1978-12-14 | ||
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS5630322A (en) * | 1979-08-21 | 1981-03-26 | Toshiba Corp | D/a converter |
US4493048A (en) | 1982-02-26 | 1985-01-08 | Carnegie-Mellon University | Systolic array apparatuses for matrix computations |
JPS5952380A (ja) * | 1982-09-17 | 1984-03-26 | Victor Co Of Japan Ltd | 補間装置 |
US4583222A (en) | 1983-11-07 | 1986-04-15 | Digital Equipment Corporation | Method and apparatus for self-testing of floating point accelerator processors |
US5170484A (en) | 1986-09-18 | 1992-12-08 | Digital Equipment Corporation | Massively parallel array processing system |
US4985832A (en) | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
FR2604270B1 (fr) * | 1986-09-22 | 1991-10-18 | Jutand Francis | Additionneur binaire comportant un operande fixe, et multiplieur binaire parallele-serie comprenant un tel additionneur |
US4933895A (en) | 1987-07-10 | 1990-06-12 | Hughes Aircraft Company | Cellular array having data dependent processing capabilities |
JPH01183732A (ja) | 1988-01-18 | 1989-07-21 | Daikin Ind Ltd | 浮動小数点数から整数への変換装置および変換方法 |
US5153848A (en) | 1988-06-17 | 1992-10-06 | Bipolar Integrated Technology, Inc. | Floating point processor with internal free-running clock |
WO1990005335A1 (en) | 1988-11-04 | 1990-05-17 | Hitachi, Ltd. | Apparatus for multiplication, division and extraction of square root |
JP2765882B2 (ja) * | 1988-11-14 | 1998-06-18 | 株式会社日立製作所 | 並列計算機,ベクトルレジスタ間データフロー同期装置およびネットワークプリセット装置 |
US5293500A (en) | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
US5226166A (en) | 1989-02-10 | 1993-07-06 | Mitsubishi Denki K.K. | Parallel operation processor with second command unit |
JPH0314128A (ja) | 1989-06-13 | 1991-01-22 | Tomio Kurokawa | 対数表現数値利用の演算装置 |
DE4002501A1 (de) * | 1990-01-29 | 1991-08-01 | Thomson Brandt Gmbh | Verfahren zur umwandlung von digitalen signalen in analoge signale |
JP2605916B2 (ja) | 1990-03-19 | 1997-04-30 | ヤマハ株式会社 | 波形信号発生装置 |
EP0463966B1 (en) | 1990-06-29 | 1998-11-25 | Digital Equipment Corporation | High-performance multi-processor having floating point unit and operation method |
JP2597736B2 (ja) * | 1990-07-17 | 1997-04-09 | 株式会社東芝 | 高速乗算器 |
US5966528A (en) | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
AU2939892A (en) | 1991-12-06 | 1993-06-28 | Richard S. Norman | Massively-parallel direct output processor array |
US5790834A (en) | 1992-08-31 | 1998-08-04 | Intel Corporation | Apparatus and method using an ID instruction to identify a computer microprocessor |
EP0632369A1 (en) | 1993-06-29 | 1995-01-04 | Stichting voor de Technische Wetenschappen | CORDIC algorithms and architectures |
US5623616A (en) | 1993-07-22 | 1997-04-22 | Hewlett-Packard Company | Floating point operaton throughput control |
DE69429061T2 (de) | 1993-10-29 | 2002-07-18 | Advanced Micro Devices, Inc. | Superskalarmikroprozessoren |
US5375084A (en) | 1993-11-08 | 1994-12-20 | International Business Machines Corporation | Selectable interface between memory controller and memory simms |
US5442577A (en) | 1994-03-08 | 1995-08-15 | Exponential Technology, Inc. | Sign-extension of immediate constants in an alu |
JPH0877282A (ja) | 1994-09-09 | 1996-03-22 | Radic:Kk | アナログ演算回路 |
US5631859A (en) * | 1994-10-27 | 1997-05-20 | Hewlett-Packard Company | Floating point arithmetic unit having logic for quad precision arithmetic |
US5581485A (en) | 1994-12-08 | 1996-12-03 | Omni Microelectronics, Inc. | Analog vector distance measuring and vector quantization architecture |
US5689677A (en) | 1995-06-05 | 1997-11-18 | Macmillan; David C. | Circuit for enhancing performance of a computer for personal use |
JP3405864B2 (ja) | 1995-09-12 | 2003-05-12 | 富士通株式会社 | 演算装置、相関演算装置、動画像圧縮装置、ずれ検出方法およびずれ検出装置 |
US5943242A (en) | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5666071A (en) | 1995-12-01 | 1997-09-09 | Advanced Micro Devices, Inc. | Device and method for programming high impedance states upon select input/output pads |
JP2806346B2 (ja) * | 1996-01-22 | 1998-09-30 | 日本電気株式会社 | 演算処理装置 |
US6311282B1 (en) | 1996-02-27 | 2001-10-30 | Fujitsu Personal Systems, Inc. | Method and apparatus for computing device with status display |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
US5887160A (en) | 1996-12-10 | 1999-03-23 | Fujitsu Limited | Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor |
US6065209A (en) | 1997-05-23 | 2000-05-23 | S-Cal Research Corp. | Method of fabrication, tooling and installation of downhole sealed casing connectors for drilling and completion of multi-lateral wells |
US6023753A (en) | 1997-06-30 | 2000-02-08 | Billion Of Operations Per Second, Inc. | Manifold array processor |
US5867693A (en) | 1997-07-03 | 1999-02-02 | Modern Video Technology, Inc. | Extended resolution phase measurement |
JPH11212763A (ja) * | 1998-01-30 | 1999-08-06 | Denso Corp | 電子制御装置 |
DE69935361T2 (de) | 1998-02-17 | 2007-11-29 | Anadec Gmbh | Verfahren und elektronische Schaltung zur Datenverarbeitung, insbesondere für die Berechnung von Wahrscheinlichkeitsverteilungen |
US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
US6065029A (en) | 1998-05-26 | 2000-05-16 | N*Able Technologies, Inc. | Method and system for providing a random number generator |
US6650327B1 (en) | 1998-06-16 | 2003-11-18 | Silicon Graphics, Inc. | Display system having floating point rasterization and floating point framebuffering |
US6226737B1 (en) * | 1998-07-15 | 2001-05-01 | Ip-First, L.L.C. | Apparatus and method for single precision multiplication |
AU763178B2 (en) * | 1998-09-10 | 2003-07-17 | Ecchandes Inc. | Visual device |
JP2969115B1 (ja) * | 1998-11-25 | 1999-11-02 | 株式会社日立製作所 | 半導体装置 |
US6622135B1 (en) | 1998-12-29 | 2003-09-16 | International Business Machines Corporation | Method for detecting and classifying anomalies using artificial neural networks |
US7242414B1 (en) * | 1999-07-30 | 2007-07-10 | Mips Technologies, Inc. | Processor having a compare extension of an instruction set architecture |
JP2000293494A (ja) | 1999-04-09 | 2000-10-20 | Fuji Xerox Co Ltd | 並列計算装置および並列計算方法 |
JP2001043385A (ja) * | 1999-05-25 | 2001-02-16 | Ecchandesu:Kk | 多帯域動画像中の移動物体のエッジ情報生成装置及び多帯域動画像中の移動物体のエッジ情報生成方法 |
US7346643B1 (en) | 1999-07-30 | 2008-03-18 | Mips Technologies, Inc. | Processor with improved accuracy for multiply-add operations |
US6675292B2 (en) | 1999-08-13 | 2004-01-06 | Sun Microsystems, Inc. | Exception handling for SIMD floating point-instructions using a floating point status register to report exceptions |
JP2001184335A (ja) | 1999-12-24 | 2001-07-06 | Kanazawa Inst Of Technology | プログラマブル・ディジタル演算icとそのプログラマブル・ディジタル演算icを用いた装置ならびにそのプログラマブル・ディジタル演算icの製造方法 |
US6647507B1 (en) | 1999-12-31 | 2003-11-11 | Intel Corporation | Method for improving a timing margin in an integrated circuit by setting a relative phase of receive/transmit and distributed clock signals |
GB2370381B (en) | 2000-12-19 | 2003-12-24 | Picochip Designs Ltd | Processor architecture |
FI113714B (fi) | 2000-12-28 | 2004-05-31 | Ari Paasio | Prosessori, piiri ja menetelmä kuvien käsittelemiseksi rinnakkaisprosessoriverkossa |
JP3949915B2 (ja) * | 2001-07-05 | 2007-07-25 | 日本電信電話株式会社 | 空間変換に基づく楕円体問合せ方法および装置と空間変換に基づく楕円体問合せプログラムおよび該プログラムを記録した記録媒体 |
US6941334B2 (en) | 2002-02-01 | 2005-09-06 | Broadcom Corporation | Higher precision divide and square root approximations |
US7234169B2 (en) | 2002-04-29 | 2007-06-19 | The Boeing Company | Method and apparatus for integrating and monitoring key digital cinema system components as a means to verify system integrity |
US6920574B2 (en) | 2002-04-29 | 2005-07-19 | Apple Computer, Inc. | Conserving power by reducing voltage supplied to an instruction-processing portion of a processor |
US6600222B1 (en) | 2002-07-17 | 2003-07-29 | Intel Corporation | Stacked microelectronic packages |
CN1265281C (zh) * | 2002-07-29 | 2006-07-19 | 矽统科技股份有限公司 | 浮点数的对数运算方法和装置 |
US7133772B2 (en) | 2002-07-30 | 2006-11-07 | Global Locate, Inc. | Method and apparatus for navigation using instantaneous Doppler measurements from satellites |
US7194615B2 (en) * | 2002-09-17 | 2007-03-20 | Nokia Corporation | Reconfigurable apparatus being configurable to operate in a logarithmic scale |
US7209867B2 (en) | 2002-10-15 | 2007-04-24 | Massachusetts Institute Of Technology | Analog continuous time statistical processing |
US7243333B2 (en) | 2002-10-24 | 2007-07-10 | International Business Machines Corporation | Method and apparatus for creating and executing integrated executables in a heterogeneous architecture |
JP4184921B2 (ja) * | 2002-11-06 | 2008-11-19 | 松下電器産業株式会社 | 確率型演算素子 |
US20070124565A1 (en) | 2003-06-18 | 2007-05-31 | Ambric, Inc. | Reconfigurable processing array having hierarchical communication network |
US7669035B2 (en) | 2004-01-21 | 2010-02-23 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for reconfigurable computing |
JP3845636B2 (ja) | 2004-01-21 | 2006-11-15 | 株式会社東芝 | 関数近似値の演算器 |
US7779177B2 (en) | 2004-08-09 | 2010-08-17 | Arches Computing Systems | Multi-processor reconfigurable computing system |
US7225323B2 (en) * | 2004-11-10 | 2007-05-29 | Nvidia Corporation | Multi-purpose floating point and integer multiply-add functional unit with multiplication-comparison test addition and exponent pipelines |
US7446773B1 (en) * | 2004-12-14 | 2008-11-04 | Nvidia Corporation | Apparatus, system, and method for integrated heterogeneous processors with integrated scheduler |
JP4547668B2 (ja) * | 2004-12-24 | 2010-09-22 | カシオ計算機株式会社 | 動き補償予測符号化装置及び動き補償予測符号化方法 |
US20070247189A1 (en) | 2005-01-25 | 2007-10-25 | Mathstar | Field programmable semiconductor object array integrated circuit |
US7921425B2 (en) | 2005-03-14 | 2011-04-05 | Cisco Technology, Inc. | Techniques for allocating computing resources to applications in an embedded system |
EP1724823A3 (fr) | 2005-05-11 | 2009-09-09 | Stmicroelectronics Sa | Procédé de connexion d'une microplaquette de semi-conducteur sur un support d'interconnexion |
JP2006350907A (ja) * | 2005-06-20 | 2006-12-28 | Ricoh Co Ltd | Simd型マイクロプロセッサ、データ転送装置、及びデータ変換装置 |
US7863778B2 (en) | 2005-07-25 | 2011-01-04 | Arm Limited | Power controlling integrated circuit cell |
US7856618B2 (en) | 2005-08-04 | 2010-12-21 | International Business Machines Corporation | Adaptively generating code for a computer program |
US7512282B2 (en) | 2005-08-31 | 2009-03-31 | International Business Machines Corporation | Methods and apparatus for incremental approximate nearest neighbor searching |
US7301436B1 (en) | 2005-11-14 | 2007-11-27 | National Semiconductor Corporation | Apparatus and method for precision trimming of integrated circuits using anti-fuse bond pads |
US8595279B2 (en) | 2006-02-27 | 2013-11-26 | Qualcomm Incorporated | Floating-point processor with reduced power requirements for selectable subprecision |
JP4413198B2 (ja) * | 2006-03-23 | 2010-02-10 | 富士通株式会社 | 浮動小数点データの総和演算処理方法及びコンピュータシステム |
US7912887B2 (en) | 2006-05-10 | 2011-03-22 | Qualcomm Incorporated | Mode-based multiply-add recoding for denormal operands |
US20080059764A1 (en) | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
JP4461135B2 (ja) | 2006-12-25 | 2010-05-12 | 富士通株式会社 | 演算回路及び演算方法並びに情報処理装置 |
US8421794B2 (en) * | 2007-03-23 | 2013-04-16 | Qualcomm Incorporated | Processor with adaptive multi-shader |
US8463835B1 (en) | 2007-09-13 | 2013-06-11 | Xilinx, Inc. | Circuit for and method of providing a floating-point adder |
US8258410B2 (en) | 2008-01-26 | 2012-09-04 | International Business Machines Corporation | Construction of reliable stacked via in electronic substrates—vertical stiffness control method |
CN101334766B (zh) * | 2008-06-30 | 2011-05-11 | 东软飞利浦医疗设备系统有限责任公司 | 一种并行微处理器及其实现方法 |
US20100114871A1 (en) * | 2008-10-31 | 2010-05-06 | University Of Southern California | Distance Quantization in Computing Distance in High Dimensional Space |
US7746104B1 (en) | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Dynamically controlled output multiplexer circuits in a programmable integrated circuit |
US7746108B1 (en) * | 2009-04-02 | 2010-06-29 | Xilinx, Inc. | Compute-centric architecture for integrated circuits |
US8150902B2 (en) | 2009-06-19 | 2012-04-03 | Singular Computing Llc | Processing with compact arithmetic processing element |
-
2010
- 2010-06-15 US US12/816,201 patent/US8150902B2/en active Active
- 2010-06-16 CA CA2768731A patent/CA2768731C/en active Active
- 2010-06-16 WO PCT/US2010/038769 patent/WO2010148054A2/en active Application Filing
- 2010-06-16 BR BRPI1011808A patent/BRPI1011808A2/pt not_active Application Discontinuation
- 2010-06-16 CN CN201610080760.7A patent/CN105760135B/zh active Active
- 2010-06-16 JP JP2012516227A patent/JP2012530966A/ja active Pending
- 2010-06-16 EP EP10790095A patent/EP2443551A4/en not_active Ceased
- 2010-06-16 KR KR1020127001525A patent/KR101235997B1/ko active IP Right Grant
- 2010-06-16 EP EP18177602.2A patent/EP3410291A1/en active Pending
- 2010-06-16 CN CN201080036873.8A patent/CN102576304B/zh active Active
-
2012
- 2012-02-17 US US13/399,884 patent/US8407273B2/en active Active
-
2013
- 2013-03-25 US US13/849,606 patent/US9218156B2/en active Active
-
2014
- 2014-04-03 JP JP2014077372A patent/JP6184897B2/ja active Active
-
2015
- 2015-12-21 US US14/976,852 patent/US9792088B2/en active Active
-
2017
- 2017-07-26 JP JP2017144389A patent/JP6371451B2/ja active Active
- 2017-10-16 US US15/784,359 patent/US10120648B2/en active Active
-
2018
- 2018-07-12 JP JP2018132055A patent/JP6599522B2/ja active Active
- 2018-10-30 US US16/175,131 patent/US10416961B2/en active Active
-
2019
- 2019-09-16 US US16/571,871 patent/US10664236B2/en active Active
- 2019-10-02 JP JP2019182315A patent/JP6796177B2/ja active Active
- 2019-11-06 US US16/675,693 patent/US10656912B2/en active Active
-
2020
- 2020-05-25 US US16/882,694 patent/US11169775B2/en active Active
- 2020-05-25 US US16/882,686 patent/US10754616B1/en active Active
- 2020-09-23 US US17/029,780 patent/US11768659B2/en active Active
- 2020-11-13 JP JP2020189077A patent/JP7273018B2/ja active Active
-
2021
- 2021-07-02 US US17/367,097 patent/US11354096B2/en active Active
- 2021-07-02 US US17/367,051 patent/US11327714B2/en active Active
- 2021-07-02 US US17/367,071 patent/US11327715B2/en active Active
-
2022
- 2022-12-02 US US18/073,972 patent/US11842166B2/en active Active
- 2022-12-15 JP JP2022200644A patent/JP7565998B2/ja active Active
-
2023
- 2023-01-26 US US18/102,020 patent/US11768660B2/en active Active
- 2023-12-08 US US18/533,372 patent/US20240103806A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0675986A (ja) * | 1992-04-06 | 1994-03-18 | Internatl Business Mach Corp <Ibm> | 大規模並列コンピューティング・システム装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014199665A (ja) * | 2009-06-19 | 2014-10-23 | シンギュラー コンピューティング、エルエルシー | コンパクトな演算処理要素を用いたプロセッシング |
US9218156B2 (en) | 2009-06-19 | 2015-12-22 | Singular Computing Llc | Processing with compact arithmetic processing element |
JP2018010646A (ja) * | 2009-06-19 | 2018-01-18 | シンギュラー コンピューティング、エルエルシー | コンパクトな演算処理要素を用いたプロセッシング |
US11768660B2 (en) | 2009-06-19 | 2023-09-26 | Singular Computing Llc | Processing with compact arithmetic processing element |
US11842166B2 (en) | 2009-06-19 | 2023-12-12 | Singular Computing Llc | Processing with compact arithmetic processing element |
CN105843586A (zh) * | 2016-04-02 | 2016-08-10 | 严发宝 | 一种高速数据采集实时加除计算实现方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6599522B2 (ja) | コンパクトな演算処理要素を用いたプロセッシング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130614 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20130625 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20130705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131009 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131022 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131203 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20140403 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20140403 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140502 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151026 |