JP2017162487A - 過度の近似計算誤差から回復するプロセッサ - Google Patents
過度の近似計算誤差から回復するプロセッサ Download PDFInfo
- Publication number
- JP2017162487A JP2017162487A JP2017082650A JP2017082650A JP2017162487A JP 2017162487 A JP2017162487 A JP 2017162487A JP 2017082650 A JP2017082650 A JP 2017082650A JP 2017082650 A JP2017082650 A JP 2017082650A JP 2017162487 A JP2017162487 A JP 2017162487A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- approximation
- error
- instruction
- approximate
- 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
- 238000004364 calculation method Methods 0.000 claims description 154
- 238000000034 method Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 5
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 19
- 238000011161 development Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Library & Information Science (AREA)
- Executing Machine-Instructions (AREA)
- Retry When Errors Occur (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
本出願は、2014年10月23日に出願した米国非仮特許出願第14/522,520号の優先権を主張し、該出願は、2014年2月10日に出願した「PROCESSOR THAT PERFORMS APPROXIMATE COMPUTING INSTRUCTIONS;PROCESSOR THAT RECOVERS FROM EXCESSIVE APPROXIMATE COMPUTING ERROR;PROCESSOR WITH APPROXIMATE COMPUTING FUNCTIONAL UNIT」という名称の米国仮特許出願第61/937,741号に基づいて優先権を主張し、参照によりその全体が本明細書に組み込まれている。
Claims (25)
- プロセッサであって:
後続の計算を近似化で実行するよう当該プロセッサに指示する命令を復号するように構成されるデコーダと;
オペランドを保持するように構成されるアーキテクチャレジスタと;
各アーキテクチャレジスタに関連付けられる誤差ストレージであって、前記アーキテクチャレジスタに格納される結果の誤差の量を示すように構成される、誤差ストレージと;
前記アーキテクチャレジスタから1つ以上のオペランドと、前記関連付けられる誤差ストレージから誤差の量を受け取り、前記命令に応答して前記近似化で前記1つ以上のオペランドに対して後続の計算を実行し、近似計算に先行して前記1つ以上のオペランドに関連付けられる誤差の量を、前記近似計算を実行することによって導入される誤差の量とともに累積し、前記結果及び前記累積された誤差の量を、宛先のアーキテクチャレジスタ及びその関連付けられる誤差ストレージに格納するように構成される、機能ユニットと;
を具備する、プロセッサ。 - 前記命令は、前記後続の計算を前記近似化で実行するよう当該プロセッサに指示するプレフィックスを備える、
請求項1に記載のプロセッサ。 - 前記プレフィックスは、当該プロセッサが前記後続の計算を実行する最高精度よりも低い精度を指定する、
請求項2に記載のプロセッサ。 - 前記デコーダは更に、第2の後続の計算を最高精度で実行するよう当該プロセッサに指示する第2の命令を復号するよう構成され、
前記機能ユニットは、前記第2の命令に応答して前記第2の後続の計算を前記最高精度で実行するように構成される、
請求項1に記載のプロセッサ。 - 前記第2の命令は、前記第2の後続の計算を前記近似化で実行するよう当該プロセッサに指示するプレフィックスを備える、
請求項4に記載のプロセッサ。 - 当該プロセッサについて近似ポリシーを指定する情報を保持するように構成される近似制御レジスタであって、前記近似ポリシーは、複数の命令実行にわたる最大許容累積誤差量の指定を含み、
当該プロセッサは、前記誤差ストレージ内に格納される誤差の量が、前記指定された最大許容累積誤差量を超えるときに、例外を生成するように構成される、
請求項1に記載のプロセッサ。 - 前記近似ポリシーは更に、前記機能ユニットが各々の近似された計算で採用すべき近似の量を指定し、前記機能ユニットは、前記後続の計算が前記近似の量と前記最大許容累積誤差量との双方によって制限されるように、前記近似の量に基づいてその近似を調整するように構成される、
請求項6に記載のプロセッサ。 - 当該プロセッサは現在のシステム構成を決定し、該現在のシステム構成に基づいて近似ポリシーを設定するように構成される、
請求項6に記載のプロセッサ。 - 前記現在のシステム構成は、モニタ解像度を含み、当該プロセッサは、低解像度のモニタでは、高解像度のモニタの場合よりも、ビデオ関連の計算において相対的により多くの誤差の量を容認するという近似ポリシーを設定するように構成される、
請求項8に記載のプロセッサ。 - 前記現在のシステム構成は、スピーカ品質を含み、当該プロセッサは、比較的低品質のスピーカでは、比較的高品質のスピーカの場合よりも、オーディオ関連の計算において相対的により多くの誤差の量を容認するという近似ポリシーを設定するように構成される、
請求項8に記載のプロセッサ。 - 当該プロセッサは、前記現在のシステム構成における変化を検出し、前記近似ポリシーを修正するように構成される、
請求項8に記載のプロセッサ。 - 前記機能ユニットは、入力オペランドに対して超越関数を実行して、多項式に基づいて結果を生成するように構成され、前記機能ユニットは、最大精度の計算を実行するように指示された場合、第1の多項式を選択し、近似計算を実行するように指示された場合、相対的に低い次数の第2の多項式を選択するように構成される、
請求項1に記載のプロセッサ。 - 除算ロジック及び反復制御ロジックを有するように構成される除算器であり、
前記除算ロジックは、入力オペランドに対して反復除算計算を実行して、複数の反復の各々の間に中間結果と該中間結果の精度の指標とを生成し、前記中間結果を当該除算ロジックへの入力として返すように構成され、
前記反復制御ロジックは、精度が近似ポリシーで指定されたレベルに到達すると、前記の反復を終了するように構成される、
請求項1に記載のプロセッサ。 - プロセッサによって実行される方法であって、当該方法は:
前記プロセッサによって、後続の計算を近似化で実行するよう前記プロセッサに指示する命令を復号するステップと;
オペランドを前記プロセッサのアーキテクチャレジスタに格納するステップと;
各オペランドに関連付けられる誤差の量とともに、1つ以上のオペランドを前記プロセッサの機能ユニットに提供するステップであって、前記誤差の量は、各アーキテクチャレジスタに関連付けられる誤差ストレージに格納される、ステップと;
前記命令の復号に応答して、前記機能ユニットによって、前記後続の計算を前記近似化で実行するステップと;
近似計算に先行して前記1つ以上のオペランドに関連付けられる誤差の量を、前記近似計算を実行することによって導入される誤差の量とともに累積するステップと;
結果及び前記累積された誤差の量を、宛先レジスタ及びその関連付けられる誤差ストレージに格納するステップと;
を具備する、方法。 - 前記命令は、前記後続の計算を前記近似化で実行するよう前記プロセッサに指示するプレフィックスを備える、
請求項14に記載の方法。 - 前記プレフィックスは、前記プロセッサが前記後続の計算を実行する最高精度よりも低い精度を指定する、
請求項15に記載の方法。 - 前記プロセッサによって、第2の後続の計算を最高精度で実行するよう前記プロセッサに指示する第2の命令を復号するステップと、
前記第2の命令の復号に応答して、前記プロセッサによって、前記第2の後続の計算を前記最高精度で実行するステップと、
を更に備える、請求項14に記載の方法。 - 前記第2の命令は、前記第2の後続の計算を前記近似化で実行するよう前記プロセッサに指示するプレフィックスを備える、
請求項17に記載の方法。 - 前記プロセッサについて近似ポリシーを指定する情報を近似制御レジスタに格納するステップであって、前記近似ポリシーは、複数の命令実行にわたる最大許容累積誤差量の指定を含む、ステップと、
前記誤差ストレージ内に格納される前記誤差の量が、前記指定された最大許容累積誤差量を超えるときに例外を生成するステップと、
を更に備える、請求項14に記載の方法。 - 現在のシステム構成を決定し、該現在のシステム構成に基づいて近似ポリシーを設定するステップ、
を更に備える、請求項19に記載の方法。 - 前記現在のシステム構成は、モニタ解像度を含み、当該方法は、低解像度のモニタでは、高解像度のモニタの場合よりも、ビデオ関連の計算において相対的により多くの誤差の量を容認するという近似ポリシーを設定するステップを更に備える、
請求項20に記載の方法。 - 前記現在のシステム構成は、スピーカ品質を含み、当該方法は、比較的低品質のスピーカでは、比較的高品質のスピーカの場合よりも、オーディオ関連の計算において相対的により多くの誤差の量を容認するという近似ポリシーを設定するステップを更に備える、
請求項20に記載の方法。 - 前記現在のシステム構成における変化を検出し、前記近似ポリシーを修正するステップ、
を更に備える、請求項20に記載の方法。 - 前記機能ユニットによって、入力オペランドに対して超越関数を実行して、多項式に基づいて結果を生成するステップと、
最大精度の計算を実行するように指示された場合、第1の多項式を選択し、近似計算を実行するように指示された場合、相対的に低い次数の第2の多項式を選択するステップと、
を更に備える、請求項14に記載の方法。 - 前記機能ユニットによって、入力オペランドに対して反復除算計算を実行して、複数の反復の各々の間に中間結果と該中間結果の精度の指標とを生成し、前記中間結果を除算ロジックへの入力として返すステップと、
精度が近似ポリシーで指定されたレベルに到達すると、前記の反復を終了するステップと、
を更に備える、請求項14に記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461937741P | 2014-02-10 | 2014-02-10 | |
US61/937,741 | 2014-02-10 | ||
US14/522,520 US9588845B2 (en) | 2014-02-10 | 2014-10-23 | Processor that recovers from excessive approximate computing error |
US14/522,520 | 2014-10-23 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016514497A Division JP6133498B2 (ja) | 2014-02-10 | 2014-12-14 | 過度の近似計算誤差から回復するプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017162487A true JP2017162487A (ja) | 2017-09-14 |
JP6586435B2 JP6586435B2 (ja) | 2019-10-02 |
Family
ID=52473758
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016514497A Active JP6133498B2 (ja) | 2014-02-10 | 2014-12-14 | 過度の近似計算誤差から回復するプロセッサ |
JP2017082650A Active JP6586435B2 (ja) | 2014-02-10 | 2017-04-19 | 過度の近似計算誤差から回復するプロセッサ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016514497A Active JP6133498B2 (ja) | 2014-02-10 | 2014-12-14 | 過度の近似計算誤差から回復するプロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US9588845B2 (ja) |
EP (1) | EP2908242B1 (ja) |
JP (2) | JP6133498B2 (ja) |
KR (1) | KR101720452B1 (ja) |
CN (1) | CN105793825B (ja) |
WO (1) | WO2015118376A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588845B2 (en) * | 2014-02-10 | 2017-03-07 | Via Alliance Semiconductor Co., Ltd. | Processor that recovers from excessive approximate computing error |
US10235232B2 (en) | 2014-02-10 | 2019-03-19 | Via Alliance Semiconductor Co., Ltd | Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction |
US9389863B2 (en) | 2014-02-10 | 2016-07-12 | Via Alliance Semiconductor Co., Ltd. | Processor that performs approximate computing instructions |
US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
US11327754B2 (en) * | 2019-03-27 | 2022-05-10 | Intel Corporation | Method and apparatus for approximation using polynomials |
JP2021043740A (ja) | 2019-09-11 | 2021-03-18 | 富士通株式会社 | バリア同期回路、バリア同期方法及び並列情報処理装置 |
JP7283320B2 (ja) * | 2019-09-13 | 2023-05-30 | 富士通株式会社 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
US11836490B2 (en) | 2019-11-14 | 2023-12-05 | Nvidia Corporation | Kernel coefficient quantization |
JP2022116821A (ja) * | 2021-01-29 | 2022-08-10 | 国立大学法人 東京大学 | 情報処理システム及び情報処理方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02165225A (ja) * | 1988-12-19 | 1990-06-26 | Nec Corp | 精度つき浮動小数点数演算処理装置 |
JP2001517332A (ja) * | 1995-09-29 | 2001-10-02 | インテル・コーポレーション | 電圧スケーリングと周波数スケーリングの両方を通じて電力消費量を削減する装置および方法 |
US20030154359A1 (en) * | 2002-02-12 | 2003-08-14 | Ip-First Llc | Apparatus and method for extending a microprocessor instruction set |
US20050050132A1 (en) * | 2003-08-26 | 2005-03-03 | Tang Ping T. | Methods and apparatus for determining approximating polynomials using instruction-embedded coefficients |
EP1703374A2 (en) * | 2005-03-18 | 2006-09-20 | VIA Technologies, Inc. | Apparatus and method for specification of floating point format in an instruction |
JP2008158822A (ja) * | 2006-12-25 | 2008-07-10 | Fujitsu Ltd | 演算回路及び演算方法並びに情報処理装置 |
JP2009528638A (ja) * | 2006-02-27 | 2009-08-06 | クゥアルコム・インコーポレイテッド | 選択可能な副精度に対して、低減された電力要求を有する浮動小数点プロセッサ |
US20090216824A1 (en) * | 2008-02-26 | 2009-08-27 | International Business Machines Corporation | Method, system and computer program product for determining required precision in fixed-point divide operations |
JP2011518398A (ja) * | 2008-04-21 | 2011-06-23 | クゥアルコム・インコーポレイテッド | 混合精度命令実行を伴うプログラマブルストリーミングプロセッサ |
US20110296149A1 (en) * | 2010-05-27 | 2011-12-01 | International Business Machines Corporation | Instruction Set Architecture Extensions for Performing Power Versus Performance Tradeoffs |
US20120197955A1 (en) * | 2011-01-31 | 2012-08-02 | Nokia Corporation | Method, apparatus, and computer program product for resource, time, and cost aware variable-precision solving of mathematical functions |
US20140222883A1 (en) * | 2011-12-21 | 2014-08-07 | Jose-Alejandro Pineiro | Math circuit for estimating a transcendental function |
JP2016524748A (ja) * | 2014-02-10 | 2016-08-18 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | 過度の近似計算誤差から回復するプロセッサ |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3736566A (en) * | 1971-08-18 | 1973-05-29 | Ibm | Central processing unit with hardware controlled checkpoint and retry facilities |
US4726024A (en) * | 1986-03-31 | 1988-02-16 | Mieczyslaw Mirowski | Fail safe architecture for a computer system |
US4912707A (en) * | 1988-08-23 | 1990-03-27 | International Business Machines Corporation | Checkpoint retry mechanism |
US5386375A (en) * | 1993-11-01 | 1995-01-31 | Motorola, Inc. | Floating point data processor and a method for performing a floating point square root operation within the data processor |
US5504859A (en) * | 1993-11-09 | 1996-04-02 | International Business Machines Corporation | Data processor with enhanced error recovery |
WO1995031767A1 (en) | 1994-05-11 | 1995-11-23 | Vlsi Technology, Inc. | Floating-point processor with apparent-precision based selection of execution-precision |
US5673426A (en) * | 1995-02-14 | 1997-09-30 | Hal Computer Systems, Inc. | Processor structure and method for tracking floating-point exceptions |
US6625749B1 (en) * | 1999-12-21 | 2003-09-23 | Intel Corporation | Firmware mechanism for correcting soft errors |
US7171594B2 (en) * | 2002-03-06 | 2007-01-30 | Hewlett-Packard Development Company, L.P. | Pausing a transfer of data |
KR20040048703A (ko) * | 2002-12-04 | 2004-06-10 | 엘지전자 주식회사 | 프로세서 복구 장치 |
US20050004958A1 (en) | 2003-07-05 | 2005-01-06 | General Instrument Corporation | Single instruction multiple data implementation of finite impulse response filters including adjustment of result |
US20050004957A1 (en) | 2003-07-05 | 2005-01-06 | General Instrument Corporation | Single instruction multiple data implementations of finite impulse response filters |
US20050228837A1 (en) | 2004-04-08 | 2005-10-13 | Paul Marostica | Approximate number calculator |
DE102004037713A1 (de) | 2004-08-04 | 2006-03-16 | Robert Bosch Gmbh | Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms |
US7634687B2 (en) * | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
US7467325B2 (en) * | 2005-02-10 | 2008-12-16 | International Business Machines Corporation | Processor instruction retry recovery |
US7421568B2 (en) | 2005-03-04 | 2008-09-02 | Qualcomm Incorporated | Power saving methods and apparatus to selectively enable cache bits based on known processor state |
US20060271615A1 (en) | 2005-05-27 | 2006-11-30 | Shearer James B | Method to compute an approximation to the reciprocal of the square root of a floating point number in IEEE format |
CN100435548C (zh) * | 2006-09-15 | 2008-11-19 | 北京大学 | 一种能够同时产生多位调频网点的方法及装置 |
US20110004644A1 (en) | 2009-07-03 | 2011-01-06 | Via Technologies, Inc. | Dynamic floating point register precision control |
US8458650B2 (en) * | 2010-03-29 | 2013-06-04 | International Business Machines Corporation | Injecting a fault into a stream operator in a data stream processing application |
US8397187B2 (en) | 2010-04-23 | 2013-03-12 | International Business Machines Corporation | Verifying the error bound of numerical computation implemented in computer systems |
US8468431B2 (en) * | 2010-07-01 | 2013-06-18 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8627143B2 (en) * | 2010-07-12 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Dynamically modeling and selecting a checkpoint scheme based upon an application workload |
US8676871B2 (en) | 2010-09-24 | 2014-03-18 | Intel Corporation | Functional unit capable of executing approximations of functions |
US8510546B2 (en) | 2011-03-29 | 2013-08-13 | International Business Machines Corporation | Run-ahead approximated computations |
US8954797B2 (en) * | 2012-04-16 | 2015-02-10 | International Business Machines Corporation | Reconfigurable recovery modes in high availability processors |
WO2014032610A1 (zh) * | 2012-09-03 | 2014-03-06 | 东南大学 | 一种面向cpu流水线的错误恢复电路 |
CN103019876B (zh) | 2012-12-26 | 2015-07-01 | 东南大学 | 一种面向cpu流水线的错误恢复电路 |
US9021313B2 (en) | 2012-11-21 | 2015-04-28 | Microsoft Technology Licensing, Llc | Priority-assignment interface to enhance approximate computing |
US9829956B2 (en) | 2012-11-21 | 2017-11-28 | Nvidia Corporation | Approach to power reduction in floating-point operations |
JP6044316B2 (ja) * | 2012-12-12 | 2016-12-14 | 株式会社デンソー | 車載電子制御装置 |
US9317379B2 (en) * | 2014-01-24 | 2016-04-19 | International Business Machines Corporation | Using transactional execution for reliability and recovery of transient failures |
US9389863B2 (en) | 2014-02-10 | 2016-07-12 | Via Alliance Semiconductor Co., Ltd. | Processor that performs approximate computing instructions |
-
2014
- 2014-10-23 US US14/522,520 patent/US9588845B2/en active Active
- 2014-12-14 JP JP2016514497A patent/JP6133498B2/ja active Active
- 2014-12-14 KR KR1020157032811A patent/KR101720452B1/ko active IP Right Grant
- 2014-12-14 WO PCT/IB2014/003167 patent/WO2015118376A1/en active Application Filing
- 2014-12-14 CN CN201480028808.9A patent/CN105793825B/zh active Active
-
2015
- 2015-02-10 EP EP15154560.5A patent/EP2908242B1/en active Active
-
2017
- 2017-04-19 JP JP2017082650A patent/JP6586435B2/ja active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02165225A (ja) * | 1988-12-19 | 1990-06-26 | Nec Corp | 精度つき浮動小数点数演算処理装置 |
JP2001517332A (ja) * | 1995-09-29 | 2001-10-02 | インテル・コーポレーション | 電圧スケーリングと周波数スケーリングの両方を通じて電力消費量を削減する装置および方法 |
US20030154359A1 (en) * | 2002-02-12 | 2003-08-14 | Ip-First Llc | Apparatus and method for extending a microprocessor instruction set |
US20050050132A1 (en) * | 2003-08-26 | 2005-03-03 | Tang Ping T. | Methods and apparatus for determining approximating polynomials using instruction-embedded coefficients |
EP1703374A2 (en) * | 2005-03-18 | 2006-09-20 | VIA Technologies, Inc. | Apparatus and method for specification of floating point format in an instruction |
JP2009528638A (ja) * | 2006-02-27 | 2009-08-06 | クゥアルコム・インコーポレイテッド | 選択可能な副精度に対して、低減された電力要求を有する浮動小数点プロセッサ |
JP2008158822A (ja) * | 2006-12-25 | 2008-07-10 | Fujitsu Ltd | 演算回路及び演算方法並びに情報処理装置 |
US20090216824A1 (en) * | 2008-02-26 | 2009-08-27 | International Business Machines Corporation | Method, system and computer program product for determining required precision in fixed-point divide operations |
JP2011518398A (ja) * | 2008-04-21 | 2011-06-23 | クゥアルコム・インコーポレイテッド | 混合精度命令実行を伴うプログラマブルストリーミングプロセッサ |
US20110296149A1 (en) * | 2010-05-27 | 2011-12-01 | International Business Machines Corporation | Instruction Set Architecture Extensions for Performing Power Versus Performance Tradeoffs |
US20120197955A1 (en) * | 2011-01-31 | 2012-08-02 | Nokia Corporation | Method, apparatus, and computer program product for resource, time, and cost aware variable-precision solving of mathematical functions |
US20140222883A1 (en) * | 2011-12-21 | 2014-08-07 | Jose-Alejandro Pineiro | Math circuit for estimating a transcendental function |
JP2016524748A (ja) * | 2014-02-10 | 2016-08-18 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | 過度の近似計算誤差から回復するプロセッサ |
Non-Patent Citations (6)
Title |
---|
HADI ESMAEILZADEH, ET AL.: "Architecture Support for Disciplined Approximate Programming", PROCEEDINGS OF THE SEVENTEENTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LAN, JPN7018001495, 3 March 2012 (2012-03-03), US, pages 301 - 312, ISSN: 0003953971 * |
RICCARDO BETTATI, ET AL.: "On-Line Scheduling for Checkpointing Imprecise Computation", PROCEEDINGS OF FIFTH EUROMICRO WORKSHOP ON REAL-TIME SYSTEMS, JPN6018016932, 22 June 1993 (1993-06-22), FI, pages 238 - 243, ISSN: 0003953972 * |
RICCARDO BETTATI, NICHOLAS S. BOWEN, JEN-YAO CHUNG: "Checking Imprecise Computation", PROCEEDINGS OF THE IEEE WORKSHOP ON IMPRECISE AND APPROXIMATE COMPUTATION, JPN6016047832, December 1992 (1992-12-01), pages 45 - 49, ISSN: 0003953970 * |
SWAGATH VENKATARAMANI, VINAY K. CHIPPA, SRIMAT T. CHAKRADHAR, KAUSHIK ROY, ANAND RAGHUNATHAN: "Quality Programmable Vector Processors for Approximate Computing", PROCEEDINGS OF THE 46TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO'46), JPN7016003820, 7 December 2013 (2013-12-07), pages 1 - 12, XP033061434, ISSN: 0003953967, DOI: 10.1145/2540708.2540710 * |
相澤洋二,鳥居達生他, 現代 数理科学事典, vol. 初版, JPN6018016929, 10 March 1991 (1991-03-10), pages 879 - 883, ISSN: 0003953968 * |
鈴木昌治: "割り算回路設計 あの手この手 4 漸近法を用いた除算回路", DESIGN WAVE MAGAZINE, vol. 第10巻,第12号, JPN6018016931, 1 December 2005 (2005-12-01), JP, pages 132 - 138, ISSN: 0003953969 * |
Also Published As
Publication number | Publication date |
---|---|
JP2016524748A (ja) | 2016-08-18 |
CN105793825A (zh) | 2016-07-20 |
CN105793825B (zh) | 2019-02-12 |
EP2908242A2 (en) | 2015-08-19 |
JP6586435B2 (ja) | 2019-10-02 |
WO2015118376A1 (en) | 2015-08-13 |
US9588845B2 (en) | 2017-03-07 |
EP2908242A3 (en) | 2018-01-24 |
US20150227429A1 (en) | 2015-08-13 |
KR20160008558A (ko) | 2016-01-22 |
EP2908242B1 (en) | 2019-07-17 |
JP6133498B2 (ja) | 2017-05-24 |
KR101720452B1 (ko) | 2017-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2905699B1 (en) | Processor that performs approximate computing instructions | |
JP6586435B2 (ja) | 過度の近似計算誤差から回復するプロセッサ | |
JP5172942B2 (ja) | プロセッサによる電力消費を低減する方法、プロセッサ、及び、情報処理システム | |
JP6373425B2 (ja) | 複数のビットを左にシフトし、複数の1を複数の下位ビットにプルインするための命令 | |
US9921832B2 (en) | Instruction to reduce elements in a vector register with strided access pattern | |
EP2908241B1 (en) | Processor with approximate computing functional unit | |
CN107003839B (zh) | 用于移位和乘法器的指令执行方法、处理器和系统 | |
US10579378B2 (en) | Instructions for manipulating a multi-bit predicate register for predicating instruction sequences | |
KR20150035161A (ko) | 그래픽 처리 장치 및 이의 동작 방법 | |
US20230103206A1 (en) | Caching based on branch instructions in a processor | |
TWI543077B (zh) | 處理器與透過處理器執行的方法 | |
TWI627585B (zh) | 處理器與透過處理器執行的方法 | |
TWI559224B (zh) | 處理器與透過處理器執行的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190412 |
|
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: 20190827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190909 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6586435 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |