JP2018129040A - 数学的関数を計算するためのシステムおよび方法 - Google Patents
数学的関数を計算するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2018129040A JP2018129040A JP2018014217A JP2018014217A JP2018129040A JP 2018129040 A JP2018129040 A JP 2018129040A JP 2018014217 A JP2018014217 A JP 2018014217A JP 2018014217 A JP2018014217 A JP 2018014217A JP 2018129040 A JP2018129040 A JP 2018129040A
- Authority
- JP
- Japan
- Prior art keywords
- function
- electronic device
- log2
- frac
- calculating
- 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
Classifications
-
- 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
- G06F7/556—Logarithmic or exponential functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
Description
本出願は、2014年9月15日出願の「数学的関数を計算するためのシステムおよび方法」という名称の米国特許出願第14/486891号に関連しており、この出願は参照することによって本明細書に含まれる。
本発明は、一般にコンピュータシステムの分野に関連し、より詳細には、グラフィックプロセッサチップの計算機能に関する。
TranscedentalForLog(X) = {n, M1H, M1L, M2} (1.2)
x = 2k*(1+ s) (1.3)
ここで、kは整数であり、0≦s<1.0である。
p = s ≧ 0.5 ? (1 + s)/2 : (1+s) (1.4)
x = 2n * p(ここで 0.75≦p<1.5) (1.5)
すると、nは(1.6)に従って決定される。
n = s ≧ 0.5 ? k + 1: k (1.6)
(1.7)は3入力ドット積関数702(Dp3、x1*y1 + x2*y2 + x3*y3)で処理されうる。いくつかの実施例では、同じ論理回路構造を用いてDp2とDp3の両方が実装され、場合によってはDp4と同じ物理回路を用いて実装される。
(-3)3 = -27、(-3)2 = 9、(-3)0.33333333 = Nan (1.8)
(1)X’、Y’、Signを得るためにXおよびYを前処理ステージ610に従って処理すること。
(2)その後、X’がLog2()ステージ600に従って処理される。前述のように、Log2()関数は、テーブルを用いて実装され得るし、M1H、M1L、および、M2を出力しうる。これらの値は、図6に示すように、KHとKLを得るために、Dp2ステージ602を用いて掛け算される。または、KHとKLはX’から図7に示すアプローチを用いて前述のように求められても良い。
(3)Dp2ステージ604は、Y’*KH + Y’*KL = {TH, TL} を計算するために使用される。ここで、THは演算の上位24ビットであり、TLは演算の下位24ビットである。
(4)THとTLは、改良された精度の入力{T_H,T_L}を受け付けるトランセンデンタルステージ606に従って処理される。上述のように、浮動小数点から固定小数点への変換ステージ608は、THを整数部分(TH_Int)と小数部分(TH_Frac)に分ける。その後、TH_Fracは、T_All_Fracを得るために、TLに加算される。その後、TH_IntとTH_Fracは、トランセンデンタルステージ606に入力される。トランセンデンタルステージ606は、2^(TH_Int + TH_Frac)の見積もり値を出力する。
(5)トランセンデンタルステージ606の出力は、Sign値と掛け算されて、X^Yの見積もり値である最終結果が得られる。
Claims (15)
- (i)電子デバイスによって、Xの関数を入力として受け付けて第1の超越関数を計算し、前記第1の超越関数は、M1H、M1L、および、M2を出力するステップと、ここで、M2は第1の精度を有し、M1HとM1Lの組合せは前記第1の精度よりも大きい第2の精度を有し、
(ii)前記電子デバイスの2エレメントドット積(Dp2)回路によって、M1HとM2の積、および、M1LとM2の積に従って、KHとKLを計算するステップと、
(iii)前記電子デバイスによって、有意性の高い出力THと有意性の低い出力TLを得るために、(a)Yの関数と(b)KHおよびKLの両方との積を計算するステップと、
(iv)前記電子デバイスによって、関数THとTLに従って、XのY乗(X^Y)の見積もり値である出力を得るために、第2の超越関数を計算するステップ
を含むことを特徴とするXのY乗の値を計算する方法。 - 前記Dp2回路が、KHとKLの各々がM2と同じ精度を有するように、KHとKLを生成する
ことを特徴とする請求項1に記載の方法。 - Xが指数kおよび仮数sを有する浮動小数点値である場合、
前記電子デバイスによって、p=s≧0.5 ? (1+s)/2 : (1+s)を計算するステップと、
前記電子回路によって、M2を1−pとして計算するステップと、
前記電子回路によって、M1Hが(Log2(1−p))/(1−p)の計算結果の有意性の高い部分であり、M1Lが(Log2(1−p))/(1−p)の計算結果の有意性の低い部分となるように、{M1H,M1L}を(Log2(1−p))/(1−p)として計算するステップと、
前記電子回路によって、n=s≧0.5 ? k+1 : kを計算するステップと、
前記電子回路によって、KHが n*1.0+M1H*M2+M1L*M2 の計算結果の有意性の高い部分であり、KLが n*1.0+M1H*M2+M1L*M2 の計算結果の有意性の低い部分となるように、{KH,KL}=n*1.0+M1H*M2+M1L*M2 を計算するステップ
を前記方法がさらに含むことを特徴とする請求項1に記載の方法。 - (Log2(1−p))/(1−p)の計算は、前記電子回路によって、テーブルを用いて行われる
ことを特徴とする請求項3に記載の方法。 - 3エレメントドット積(Dp3)回路を用いて n*1.0+M1H*M2+M1L*M2 が計算される
ことを特徴とする請求項4に記載の方法。 - KHおよびKLがM2と同じ精度を有する
ことを特徴とする請求項5に記載の方法。 - M1LがM1Hよりも小さいビット数の精度を有する
ことを特徴とする請求項1に記載の方法。 - 前記Yの関数、および、前記Xの関数が表1に従って定義される
ことを特徴とする請求項1に記載の方法。 - 表1に定義されたXとYに応じてsign値を決定するステップ
をさらに含み、
前記方法が、さらに、外部デバイスによって、前記sign値に応じた前記第2の超越関数からの出力をsignに設定するステップを含む
ことを特徴とする請求項8に記載の方法。 - 前記第2の超越関数を前記THの関数およびTLの関数に従って計算するステップが、
前記電子デバイスによって、THの整数部分をTH_Intとして取得するステップと、
前記電子デバイスによって、THの小数部分をTH_Fracとして取得するステップと、
前記電子デバイスによって、T_All_Fracを取得するために、TH_FracとTLを組合せるステップと、
前記電子デバイスによって、前記XのY乗の見積もり値を取得するために、TH_FracおよびT_All_Fracを前記第2の超越関数に入力するステップ
を含むことを特徴とする、請求項1に記載の方法。 - (i)Xの関数を入力として受け付けて、M1H、M1L、および、M2を出力するようにプログラムされた第1の超越関数ステージと、ここで、M2は第1の精度を有し、M1HとM1Lの組合せは前記第1の精度よりも大きい第2の精度を有し、
(ii)M1HとM2の積、および、M1LとM2の積に従って、KHとKLを出力するようにプログラムされた第1のドット積ステージと、
(iii)有意性の高い出力THと有意性の低い出力TLを得るために、(a)Yの関数と(b)KHおよびKLの両方との積を計算するようにプログラムされた第2のドット積ステージと、
(iv)THの関数およびTLの関数を入力として受け付けて、XのY乗の見積もり値を出力するようにプログラムされた第2の超越関数ステージ
を含み、
M1LはM1Hよりも低いビット数の精度を有し、
前記第1のドット積ステージ、および、前記第2のドット積ステージは、1つ以上の4エレメントドット積(Dp4)回路を用いて実装される
ことを特徴とするXのY乗の値を計算するための電子デバイス。 - 前記第1のドット積ステージは、2エレメントドット積(Dp2)回路を含み、
前記Dp2回路は、KHとKLの各々がM2と同じ精度を有するように、KHとKLを出力するようにプログラムされている
ことを特徴とする請求項11に記載の電子デバイス。 - Xが指数kおよび仮数sを有する浮動小数点値である場合、
p=s≧0.5 ? (1+s)/2 : (1+s)を計算し、
M2を1−pとして計算し、
M1Hが(Log2(1−p))/(1−p)の計算結果の有意性の高い部分であり、M1Lが(Log2(1−p))/(1−p)の計算結果の有意性の低い部分となるように、{M1H,M1L}を(Log2(1−p))/(1−p)として計算し、ここで、Log2(1−p)は前記第1の超越関数ステージを用いて実装され、
n=s≧0.5 ? k+1 : kを計算し、
KHが n*1.0+M1H*M2+M1L*M2 の計算結果の有意性の高い部分であり、KLが n*1.0+M1H*M2+M1L*M2 の計算結果の有意性の低い部分となるように、{KH,KL}=n*1.0+M1H*M2+M1L*M2 を計算する
処理を行うように前記電子デバイスがさらにプログラムされることを特徴とする、請求項11に記載の電子デバイス。 - 前記電子デバイスは、表1に従って前記Xの関数、および、前記Yの関数を計算するように、さらにプログラムされ、
前記電子デバイスは、表1に従ったXとYに応じてsign値を決定し、前記sign値に応じた前記第2の超越関数からの出力をsignに設定するように、さらにプログラムされている
ことを特徴とする請求項11に記載の電子デバイス。 - 前記THの関数、および、TLの関数を計算するために、
TH_IntをTHの整数部分として取得し、
TH_FracをTHの小数部分として取得し、
TH_FracおよびTLからT_All_Fracを取得し、
TH_FracおよびT_All_Fracを前記第2の超越関数ステージに入力する
処理を行うように、前記電子デバイスがさらにプログラムされていることを特徴とする、請求項11に記載の電子デバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/422,862 US20180217814A1 (en) | 2017-02-02 | 2017-02-02 | Systems And Methods For Computing Mathematical Functions |
US15/422,862 | 2017-02-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018129040A true JP2018129040A (ja) | 2018-08-16 |
JP7228956B2 JP7228956B2 (ja) | 2023-02-27 |
Family
ID=61094299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018014217A Active JP7228956B2 (ja) | 2017-02-02 | 2018-01-31 | 数学的関数を計算するためのシステムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180217814A1 (ja) |
EP (1) | EP3358460B1 (ja) |
JP (1) | JP7228956B2 (ja) |
KR (1) | KR102559930B1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10725742B2 (en) | 2018-06-05 | 2020-07-28 | Texas Instruments Incorporated | Transcendental function evaluation |
CN111831257A (zh) * | 2020-06-29 | 2020-10-27 | 湖南毂梁微电子有限公司 | 一种用于计算正弦或余弦函数的实现方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0492921A (ja) * | 1990-08-03 | 1992-03-25 | Fujitsu Ltd | 指数関数演算器 |
JP2010033318A (ja) * | 2008-07-29 | 2010-02-12 | Sony Corp | 演算処理装置および方法、並びにプログラム |
JP2016201108A (ja) * | 2015-04-07 | 2016-12-01 | ビバンテ コーポレーション | 数学的関数を計算するためのシステム及び方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128638A (en) * | 1998-07-23 | 2000-10-03 | Silicon Graphics, Inc. | Method and apparatus for calculating X to the Exponent of Y |
US7539717B2 (en) * | 2005-09-09 | 2009-05-26 | Via Technologies, Inc. | Logarithm processing systems and methods |
US8346831B1 (en) * | 2006-07-25 | 2013-01-01 | Vivante Corporation | Systems and methods for computing mathematical functions |
US9465580B2 (en) * | 2011-12-21 | 2016-10-11 | Intel Corporation | Math circuit for estimating a transcendental function |
-
2017
- 2017-02-02 US US15/422,862 patent/US20180217814A1/en not_active Abandoned
-
2018
- 2018-01-30 EP EP18154099.8A patent/EP3358460B1/en active Active
- 2018-01-31 JP JP2018014217A patent/JP7228956B2/ja active Active
- 2018-02-01 KR KR1020180012968A patent/KR102559930B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0492921A (ja) * | 1990-08-03 | 1992-03-25 | Fujitsu Ltd | 指数関数演算器 |
JP2010033318A (ja) * | 2008-07-29 | 2010-02-12 | Sony Corp | 演算処理装置および方法、並びにプログラム |
JP2016201108A (ja) * | 2015-04-07 | 2016-12-01 | ビバンテ コーポレーション | 数学的関数を計算するためのシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP7228956B2 (ja) | 2023-02-27 |
KR102559930B1 (ko) | 2023-07-25 |
EP3358460A1 (en) | 2018-08-08 |
EP3358460B1 (en) | 2019-10-23 |
US20180217814A1 (en) | 2018-08-02 |
KR20180090205A (ko) | 2018-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5175379B2 (ja) | 選択可能な下位精度を有する浮動小数点プロセッサ | |
US9519460B1 (en) | Universal single instruction multiple data multiplier and wide accumulator unit | |
CN106990937B (zh) | 一种浮点数处理装置和处理方法 | |
JP5731937B2 (ja) | ベクトル浮動小数点引数削減 | |
JP6193531B1 (ja) | 融合された乗算−加算演算のエミュレーション | |
JP2010503935A (ja) | 命令に応じた丸め処理の実行 | |
US9600236B2 (en) | Systems and methods for computing mathematical functions | |
US8346831B1 (en) | Systems and methods for computing mathematical functions | |
JP7228956B2 (ja) | 数学的関数を計算するためのシステムおよび方法 | |
JP6770777B2 (ja) | 数学的関数を計算するためのシステム及び方法 | |
US9143159B2 (en) | DPD/BCD to BID converters | |
US9703530B2 (en) | Systems and methods for computing mathematical functions | |
JP2001125771A (ja) | 固定小数点グラフィックス装置、方法、及びデータ処理システム | |
CN108182050B (zh) | 利用四输入点积电路计算三角函数 | |
US11314482B2 (en) | Low latency floating-point division operations | |
EP3923132B1 (en) | Device for performing multiply/accumulate operations | |
US9304739B1 (en) | Optimized 3D lighting computations using a logarithmic number system | |
JP2024119962A (ja) | 半導体ハードウェアにおいてニューラルネットワークを処理するための実装および方法 | |
US9448806B2 (en) | Circuit and method for identifying exception cases in a floating-point unit and graphics processing unit employing the same | |
Chawla et al. | Hardware efficient reconfigurable arithmetic unit | |
JP2015082152A (ja) | 誤差評価を伴う数値演算方法およびこのための装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210115 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20210115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220929 |
|
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: 20230117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7228956 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |