JP6770777B2 - 数学的関数を計算するためのシステム及び方法 - Google Patents
数学的関数を計算するためのシステム及び方法 Download PDFInfo
- Publication number
- JP6770777B2 JP6770777B2 JP2016075643A JP2016075643A JP6770777B2 JP 6770777 B2 JP6770777 B2 JP 6770777B2 JP 2016075643 A JP2016075643 A JP 2016075643A JP 2016075643 A JP2016075643 A JP 2016075643A JP 6770777 B2 JP6770777 B2 JP 6770777B2
- Authority
- JP
- Japan
- Prior art keywords
- hardware stage
- inverse function
- arguments
- stage
- tables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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/544—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 for evaluating functions by calculation
- G06F7/548—Trigonometric functions; Co-ordinate transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- 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/544—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 for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
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)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
この出願は、2014年9月15日出願の、数学的関数の計算をするためのシステム及び方法という名称の米国特許出願第14/486,891号の一部継続出願である。
本発明は、一般に、コンピュータシステムの分野に関し、より詳細には、グラフィックスプロセッサチップ用の計算機能に関する。
atan2pi ( ±0, -0 ) = ±1.
atan2pi ( ±0, +0 ) = ± 0.
atan2pi ( ±0, x ) x < 0に対し、± 1を返す。
atan2pi ( ±0, x ) x > 0に対し、± 0を返す。
atan2pi ( y, ±0 ) y < 0に対し、-0.5を返す。
atan2pi ( y, ±0 ) y > 0に対し、0.5を返す。
atan2pi ( ±y, -∞ ) 有限な y > 0に対し、± 1を返す。
atan2pi ( ±y, +∞ ) 有限な y > 0に対し、± 0を返す。
atan2pi ( ±∞, x ) 有限な x に対し、± 0.5を返す。
atan2pi (±∞, -∞ ) ± 0.75を返す。
atan2pi (±∞, +∞ ) ± 0.25を返す。
Claims (20)
- 数学的関数を計算する装置であって、
オペコード及び一つ以上の入力引数を入力として取り、前記一つ以上の入力引数と前記オペコードに従って、一つ以上の出力引数を生成するように構成された、前処理ハードウェアステージと、
値G(Z)を計算し一つまたは二つの出力を求めて出力するように構成された逆関数ハードウェアステージであって、Zは、前記オペコードがAsin、AtanまたはAtan2に対応する場合は前記出力引数のうちの一つに基づくものであり、前記オペコードがAcosに対応する場合は前記一つ以上の入力引数のうちの一つに基づくものであり、かつ、G(Z)=Acos(Z)/Sqrt(1-Z*Z)である、逆関数ハードウェアステージと、
前記逆関数ハードウェアステージからの一つまたは二つの出力と、前記一つ以上の入力引数と前記一つ以上の出力引数のうちの一つを、前記オペコードに従って処理し、最終結果を得るように構成された、後処理ハードウェアステージと、
を備える装置。 - 前記逆関数ハードウェアステージは、一つ以上のルックアップテーブルから、G(Z)を計算するように構成されている、請求項1に記載の装置。
- 前記逆関数ハードウェアステージは、前記一つ以上のルックアップテーブルからの値を用いて、多項式近似を行うことによって、前記一つ以上のルックアップテーブルからG(Z)を計算するように構成されている、請求項2に記載の装置。
- 前記逆関数ハードウェアステージは、(Z-Z0)と(Z-Z1)の値を用いて多項式を計算することによって、前記多項式近似を実行するように構成されており、前記一つ以上のルックアップテーブルは、Zより小さいZ0に対応する値、及び、Zより大きいZ1に対応する値を含む、請求項3に記載の装置。
- 逆関数ハードウェアステージは、(Z-Z1)をNOT(Z-Z0)と計算するように構成されている、請求項4に記載の装置。
- 前記逆関数ハードウェアステージは、(Z-Z0)*(Z-Z1)の値を用いて多項式を更に計算することによって、前記多項式近似を実行するように構成されている、請求項4に記載の装置。
- 前記逆関数ハードウェアステージは、G(Z)=a+b*(Z-Z0)+c*(Z-Z0)*(Z-Z1)を計算することによって前記多項式近似を実行するように構成されており、値a、b、及びcは、値Z0とZ1に対応し、前記一つ以上のルックアップテーブルから取得される、請求項6に記載の装置。
- 表1を
前記前処理ハードウェアステージは、表1と表4に従って、前記入力引数に応じて前記出力引数を計算するように構成されている、請求項1に記載の装置。 - 表2を
前記逆関数ハードウェアステージは、表2に従って、前記一つまたは二つの出力を求めて出力するように構成されている、請求項1に記載の装置。 - 表3を
前記後処理ハードウェアステージは、表3に従って、前記オペコード、前記逆関数ハードウェアステージからの一つまたは二つの出力、及び、前記一つ以上の入力引数と前記一つ以上の出力引数のうちの一つに応じて前記最終結果を計算するように構成されている、請求項1に記載の装置。 - 数学的関数を計算する方法であって、
前処理ハードウェアステージによって、オペコード、及び一つ以上の入力引数を受け取ることと、
前記前処理ハードウェアステージによって、前記一つ以上の入力引数と前記オペコードに従って、一つ以上の出力引数を生成することと、
逆関数ハードウェアステージによって、値G(Z)を計算し一つまたは二つの出力を求めて出力することであって、Zは、前記オペコードがAsin、AtanまたはAtan2に対応する場合は前記出力引数のうちの一つに基づくものであり、前記オペコードがAcosに対応する場合は前記一つ以上の入力引数のうちの一つに基づくものであり、かつ、G(Z)=Acos(Z)/Sqrt(1-Z*Z)である、値G(Z)を計算し一つまたは二つの出力を求めて出力することと、
後処理ハードウェアステージによって、前記オペコードに従って、前記逆関数ハードウェアステージからの一つまたは二つの出力と、前記一つ以上の入力引数と前記一つ以上の出力引数のうちの一つとを処理し、最終結果を得ることと、
を含む、方法。 - 前記逆関数ハードウェアステージによって、一つ以上のルックアップテーブルからG(Z)を計算することを、更に含む、請求項11に記載の方法。
- 前記逆関数ハードウェアステージによって、前記一つ以上のルックアップテーブルからの値を用いて、多項式近似を実行することによって、前記一つ以上のルックアップテーブルからG(Z)を計算することを更に含む、請求項12に記載の方法。
- 前記逆関数ハードウェアステージによって、(Z-Z0)と(Z-Z1)の値を用いて多項式を計算することによって、前記多項式近似を求めることを更に含み、前記一つ以上のルックアップテーブルは、Zより小さいZ0に対応する値、及び、Zより大きいZ1に対応する値を含む、請求項13に記載の方法。
- 前記逆関数ハードウェアステージによって、(Z-Z1)をNOT(Z-Z0)と計算することを更に含む、請求項14に記載の方法。
- 前記逆関数ハードウェアステージによって、(Z-Z0)*(Z-Z1)の値を用いて、前記多項式近似を求めることを更に含む、請求項14に記載の方法。
- 前記逆関数ハードウェアステージによって、G(Z)=a+b*(Z-Z0)+c*(Z-Z0)*(Z-Z1)を計算することによって、前記多項式近似を求めることを更に含み、値a、b、及びcは、値Z0とZ1に対応し、前記一つ以上のルックアップテーブルから取得される、請求項16に記載の方法。
- 表1を
表4を
とするとき、
前記前処理ハードウェアステージによって、表1と表4に従って、前記入力引数に応じて前記出力引数を計算することを更に含む、請求項11に記載の方法。 - 表2を
前記逆関数ハードウェアステージによって、表2に従って、一つまたは二つの出力を求めて出力することを更に含む、請求項11に記載の方法。 - 表3を
前記後処理ハードウェアステージによって、表3に従って、前記オペコード、前記逆関数ハードウェアステージからの一つまたは二つの出力、及び、前記一つ以上の入力引数と前記一つ以上の出力引数のうちの一つに応じて前記最終結果を計算することを更に含む、請求項11に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/680,791 | 2015-04-07 | ||
US14/680,791 US9703530B2 (en) | 2006-07-25 | 2015-04-07 | Systems and methods for computing mathematical functions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016201108A JP2016201108A (ja) | 2016-12-01 |
JP6770777B2 true JP6770777B2 (ja) | 2020-10-21 |
Family
ID=55808945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016075643A Active JP6770777B2 (ja) | 2015-04-07 | 2016-04-05 | 数学的関数を計算するためのシステム及び方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3079056B1 (ja) |
JP (1) | JP6770777B2 (ja) |
KR (1) | KR102503498B1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180217814A1 (en) * | 2017-02-02 | 2018-08-02 | Vivante Corporation | Systems And Methods For Computing Mathematical Functions |
KR102567603B1 (ko) | 2021-07-23 | 2023-08-17 | 세종대학교산학협력단 | 선형 보간법을 이용한 삼각함수 계산 방법 및 장치 |
KR102670314B1 (ko) * | 2021-07-30 | 2024-05-29 | 주식회사 사피온코리아 | 부동 소수점 표현에서 함수 근사를 연산하는 방법 및 장치 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2084989A1 (en) * | 1990-07-19 | 1992-01-20 | Brett L. Lindsley | Device for evaluating inverse trigonometric functions |
JP2005275626A (ja) * | 2004-03-23 | 2005-10-06 | Fujitsu Ltd | 演算種別と精度を選択可能な近似演算処理方法および近似演算処理装置 |
JP2006059084A (ja) * | 2004-08-19 | 2006-03-02 | Renesas Technology Corp | データプロセッサ、データ処理方法及び演算処理プログラム |
US8346831B1 (en) * | 2006-07-25 | 2013-01-01 | Vivante Corporation | Systems and methods for computing mathematical functions |
US9600236B2 (en) * | 2006-07-25 | 2017-03-21 | Vivante Corporation | Systems and methods for computing mathematical functions |
US8862650B2 (en) * | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
-
2016
- 2016-04-05 JP JP2016075643A patent/JP6770777B2/ja active Active
- 2016-04-07 KR KR1020160042910A patent/KR102503498B1/ko active IP Right Grant
- 2016-04-07 EP EP16164224.4A patent/EP3079056B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3079056A3 (en) | 2017-01-25 |
EP3079056B1 (en) | 2020-12-16 |
EP3079056A2 (en) | 2016-10-12 |
KR20160120249A (ko) | 2016-10-17 |
JP2016201108A (ja) | 2016-12-01 |
KR102503498B1 (ko) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5731937B2 (ja) | ベクトル浮動小数点引数削減 | |
JP2017059229A (ja) | 算術演算を行う方法及び処理装置 | |
JP6770777B2 (ja) | 数学的関数を計算するためのシステム及び方法 | |
US8874630B2 (en) | Apparatus and method for converting data between a floating-point number and an integer | |
JP2012069116A5 (ja) | ||
US9600236B2 (en) | Systems and methods for computing mathematical functions | |
US20130091189A1 (en) | Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques | |
JP4953978B2 (ja) | 平方値に線形従属する計算結果の表示を生成する方法 | |
US9703530B2 (en) | Systems and methods for computing mathematical functions | |
KR102559930B1 (ko) | 수학적 함수들을 연산하기 위한 시스템 및 방법들 | |
US10140090B2 (en) | Computing and summing up multiple products in a single multiplier | |
TWI386845B (zh) | Error calculation of the integer division operation circuit | |
JP2015015026A (ja) | 様々な数値フォーマットのデータを用いてデータに基づく関数モデルを計算するためのモデル計算ユニット、および制御装置 | |
KR102281047B1 (ko) | 4개의 입력 내적 회로를 사용하는 삼각 함수 계산 | |
US8924447B2 (en) | Double precision approximation of a single precision operation | |
EP3923132B1 (en) | Device for performing multiply/accumulate operations | |
US11314482B2 (en) | Low latency floating-point division operations | |
JP2008097194A (ja) | 逆数算出装置、逆数算出方法、及び逆数算出プログラム | |
CN117992122A (zh) | 特殊函数单元sfu计算装置及数据计算方法 | |
JP2016071861A (ja) | データを演算する方法及びその装置 | |
JP2006243826A (ja) | 浮動小数点数値のm乗根を演算する浮動小数点演算装置及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190327 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200727 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20200727 |
|
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: 20200811 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200924 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6770777 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |