JP7235171B2 - 固定小数点演算ビット幅の検証システム及び決定システム - Google Patents

固定小数点演算ビット幅の検証システム及び決定システム Download PDF

Info

Publication number
JP7235171B2
JP7235171B2 JP2022527871A JP2022527871A JP7235171B2 JP 7235171 B2 JP7235171 B2 JP 7235171B2 JP 2022527871 A JP2022527871 A JP 2022527871A JP 2022527871 A JP2022527871 A JP 2022527871A JP 7235171 B2 JP7235171 B2 JP 7235171B2
Authority
JP
Japan
Prior art keywords
fixed
bit width
verification
point
calculation
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
Application number
JP2022527871A
Other languages
English (en)
Other versions
JPWO2022215173A5 (ja
JPWO2022215173A1 (ja
Inventor
伸男 千田
克久 小笠原
治彦 竹山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2022215173A1 publication Critical patent/JPWO2022215173A1/ja
Publication of JPWO2022215173A5 publication Critical patent/JPWO2022215173A5/ja
Application granted granted Critical
Publication of JP7235171B2 publication Critical patent/JP7235171B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本開示は、固定小数点演算ビット幅の検証システム及び決定システムに関する。
固定小数点演算は浮動小数点演算と比較して、回路規模の縮小、消費電力の削減、レイテンシを改善することができるため、省スペースや省電力が求められる組込みシステムに向いている。従来の技術では、対象となる演算規模が膨大である場合には、効率的な固定小数点のビット幅の決定方法は提案されていない。さらに、演算の細かな粒度において柔軟に固定小数点のビット幅を決定する方法についても提案されていない。
特願2018-236384号公報
特許文献1の深層学習の学習データから固定小数点の位置を収集し、固定小数点のビット幅を決定している。しかしながら、学習データが膨大である場合には効率的に固定小数点のビット幅を決定することが難しくなっている。
本開示の固定小数点演算ビット幅の検証システムは、演算情報に基づいて所望の検証精度を満たすために必要最低限のテストケース数を算出する数式(1)の検証保証精度内の誤差であるδ及びεでベルヌーイ試行による区間推定を用いて検証データセットのデータ数を決定して目標値を含む生成仕様を中央演算処理装置で定義する仕様定義部と、生成仕様に基づいて検証データセットを中央演算処理装置で生成する生成部と、検証データセットを用いて固定小数点演算による演算結果を中央演算処理装置で生生成する固定小数点演算部と、演算結果及び生成仕様の数式(1)に基づいて固定小数点演算のビット幅が仕様を満たしているか否かを中央演算処理装置で検証する検証部とを備えている。
また、本開示の固定小数点演算ビット幅の決定システムは、演算の重要度が定義された演算情報に基づいて所望の検証精度を満たすために必要最低限のテストケース数を算出する数式(1)の検証保証精度内の誤差であるδ及びεでベルヌーイ試行による区間推定を用いて検証データセットのデータ数と重要度から固定小数点ビット幅と目標値とを含む生成仕様を中央演算処理装置で定義する仕様定義部と、生成仕様に基づいて検証データセットを中央演算処理装置で生成する生成部と、検証データセットを用いて固定小数点演算による演算結果を中央演算処理装置で生成する固定小数点演算部と、演算結果及び生成仕様の数式(1)に基づいて固定小数点演算のビット幅が仕様を満たしているか否かを検証し検証結果を中央演算処理装置で生成する検証部と、検証結果に応じて生成仕様の更新判定を中央演算処理装置で行う更新部とを備えている。
この開示によれば、膨大な演算規模においても効率的に固定小数点演算のビット幅を検証又は決定することができる。
本開示の実施の形態1に係る固定小数点演算ビット幅の検証システムのブロック図である。 本開示の実施の形態1に係る演算情報の例を示す図である。 Qフォーマットの説明を示す図である。 本開示の実施の形態1に係る仕様定義部の動作を示すフローチャートである。 仮定ビット幅に収まる確率を説明する図である。 本開示の実施の形態1に係る生成仕様の例を図示する図である。 本開示の実施の形態1に係る生成部の動作を示すフローチャートである。 本開示の実施の形態1及び実施の形態2に係る固定小数点に変換後の検証データセットの例を示す図である。 本開示の実施の形態1及び実施の形態2に係る演算部の動作を示すフローチャートである。 本開示の実施の形態1及び実施の形態2に係る固定小数点演算ビット幅の検証(決定)システムの演算結果を示す図である。 本開示の実施の形態1及び実施の形態2に係る検証部の動作の流れを図示するフローチャートである。 本開示の実施の形態2に係る固定小数点演算ビット幅の決定システムのブロック図である。 本開示の実施の形態2に係る演算情報の例を示す図である。 本開示の実施の形態2に係る仕様定義部の動作を示すフローチャートである。 本開示の実施の形態2の仮定したビット幅に収まる確率の分布を示す図である。 本開示の実施の形態2に係る固定小数点演算ビット幅の決定システムの重要度と対応する固定小数点ビット幅を示す図である。 本開示の実施の形態2に係る固定小数点演算ビット幅の決定システムの生成仕様を示す図である。
実施の形態1.
図1は、実施の形態1の固定小数点演算ビット幅の検証システムのブロック図である。図において、固定小数点演算ビット幅の検証システム100は、仕様定義部120、生成部140、演算部160、検証部180を備える。なお、固定小数点演算ビット幅の検証システム100は、これらの要素以外の要素を備えてもよい。
固定小数点演算ビット幅の検証システム100は、プロセッサ及びメモリを有するコンピュータで構成されている。プロセッサは中央演算処理装置(CPU)等である。メモリは、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)等である。仕様定義部120、生成部140、演算部160、検証部180は、メモリに記憶されたプログラムをプロセッサが実行することにより構成される。なお、仕様定義部120、生成部140、演算部160、検証部180の全部又は一部が、プログラムを実行しないハードウェアにより構成されてもよい。
外部から入力される演算情報110に基づいて仕様定義部120は、生成仕様130を定義する。また、生成仕様130に基づいて生成部140は、検証データセット150を生成する。演算部160は、演算情報110及び検証データセット150を用いて演算結果170を出力する。検証部180は、生成仕様130及び演算結果170に基づいて検証結果190を出力する。
<演算情報110>
図2は、本実施形態による演算情報110の例を示す図であり、以下、この例を用いて説明する。演算情報110は固定小数点ビット幅の検証対象となる演算の内容である演算内容と、演算内容の変数が浮動小数点演算の場合に使用されるデータ型と、検証対象の固定小数点数のビット幅である仮定ビット幅と、演算内容の出力(演算結果170)の最低保証桁数(演算結果170において求められる小数点の桁数)である出力保証桁数と、検証データ数と目標値とを決定するために必要な検証保証精度を含む。
演算内容は、変数aと変数bとを入力として変数outを出力とする演算であることを示している。また、データ型は、浮動小数点演算において、変数aがfloat型、変数outがfloat型で演算されることを示している。
仮定ビット幅は、演算内容の変数の固定小数点演算におけるビット幅であり、32bitであることと、32bit内の整数部と小数部のそれぞれのビット幅をQフォーマットで表している。図3は、Qフォーマットの説明を示す図であり、Q15.16と示した場合の整数部と小数部のビット幅を示している。つまり、Q15.16と記述すると、符号1bit、整数部15bit、小数部16bitの合計32bitの固定小数点データであることが分かる。
出力保証桁数は、演算内容を浮動小数点演算の場合と、仮定ビット幅の固定小数点演算の場合との誤差を算出し、その誤差が10-2であればよい、ということを意味している。また、検証保証精度は、後述する検証データ数の決定に必要な値であり、ここでは、ε=0.025、δ=0.01としている。
<仕様定義部120>
図4は、仕様定義部120の動作を示すフローチャートである。ステップS101において、入力された演算情報110を読み込む。ステップS102において、読み込んだ検証保証精度から検証データ数と検証の合格基準となる目標値とを決定する。ベルヌーイ試行による区間推定を用いて検証データセット150のデータ数を決定して生成仕様130を定義する。
図5は、仮定ビット幅に収まる確率を説明する図であり、より具体的には、固定小数点演算ビット幅の検証システム100において仮定されるビット幅に収まる確率の分布を表すグラフである。ここで、母集団からデータをX個取り出し、仮定したビット幅の範囲以内に収まる確率を算出する。これをY回繰り返したときに仮定したビット幅の範囲以内に収まる確率の分布が図5のように正規分布で与えられていると仮定する。仮定したビット幅の範囲以内に収まる確率が95%から100%の区間を信頼区間(1-δ)とすると、仮定したビット幅の範囲以内に収まる確率は(1-δ)×100%の確率で信頼区間に入ることになる。これを検証するためには、標本数nとして、式(1)で示される数値以上の標本を検査し、97.5%以上の確率であることを検証すればよい。例えば、ε=0.025,δ=0.01とすれば、検証データ数は4239以上で目標値は4134と決定できる。検証の結果、4134以上のデータが検証に合格できれば、「仮定ビット幅に収まる確率が95%以上である確率が99%以上である」といえる。なお、δとεは検証保証精度内のパラメータであり、εは誤差である。
Figure 0007235171000001
仕様定義部120は、ステップS103において演算情報110の仮定ビット幅から固定小数点のビット幅を決定する。仮定ビット幅が32(Q15.16)の場合には、データ幅が32bitで、整数部が15bit、小数部が16bitの固定小数点データとなる。次に、ステップS104において、演算情報110の出力保証桁数から、浮動小数点演算と固定小数点演算との許容誤差範囲を決定する。出力保証桁数が10-2では、浮動小数点演算と固定小数点演算との結果が小数点第二位まで一致していることが検証の合格判定基準となる。
仕様定義部120は、ステップS105において、生成仕様130を定義し出力する。図6は、仕様定義部120により定義される生成仕様130の例を図示する図である。生成仕様130に記載されているデータ数、目標値、固定小数点データ幅(整数部と小数部)、出力精度については、ステップS102からステップS104で決定される値である。
<生成部140>
図7は、本開示の実施の形態1に係る生成部140の動作を示すフローチャートである。生成部140は、ステップS121において生成仕様130を読み込む。次に、生成仕様130に記載の全ての検証データセット150をステップS122からステップS125までをループして生成する。生成部140は、ステップS124においてランダムに生成仕様130に記載のデータ数を生成仕様130に記載のデータ型で検証データを生成する。ここで、変数a及びbはfloat型であるため、それぞれランダムに4239個だけfloat型のデータを生成する。次に、ステップS125において、ステップS124において生成したデータを生成仕様130に記載の仮定ビット幅に近似する形で浮動小数点の検証データを固定小数点数に変換する。全ての検証データセット150が生成されると、ステップS126において出力される。
生成部140は、演算情報110からランダムにデータ数と同じ数の検証データを生成することになるが、これより多い数の検証データを作成しても実質的な意味はなく同じ数と見做すことができ、本願の権利範囲に含まれるものである。なお、ランダムに検証することにより様々なデータについて検証を行うことができることになる。
図8は、固定小数点に変換後の検証データセット150の例を示す図である。生成仕様130に記載の仮定ビット幅である整数部15bit、小数部16bitに変換されていることを示している。
<演算部160>
図9は演算部160の動作を示すフローチャートである。演算部160は、ステップS141において演算情報110を読み込む。次に、ステップS142において検証データセット150を読み込む。ステップS143において演算情報110に記載の演算内容から必要な浮動小数点演算器を生成する。次に、ステップS144においても同様に、演算情報110に記載の演算内容から必用な固定小数点演算器を生成する。ステップS145において検証データセット150を読み込む。
演算部160は、ステップS146からS149までのループで、全ての検証データセット150を演算する。ここでは、検証データセット150の数が4239であるため、S146からS149まで4239回繰り返すことになる。演算部160は、ステップS147においてランダムに生成された浮動小数点の検証データセット150を浮動小数点演算器で演算を行う。続いてステップS148において同じくランダムに生成された浮動小数点の検証データセット150を固定小数点の検証データセット150へ変換したデータを固定小数点演算器で演算を行う。
演算部160は、ステップS150において、ステップS146からS149までにおいて演算された変数outの値を演算結果170として定義し出力する。図10は、演算結果170の一例を示している。
<検証部180>
図11は、検証部180の動作の流れを図示するフローチャートを示している。検証部180はステップS161において、生成仕様130を読み込む。続いてステップS162において、演算結果170を読み込む。検証部180は、ステップS163からS167まで演算部160が定義したすべての演算結果170について、生成仕様130を満たしているかの判定を行う。
検証部180は、ステップS164において、浮動小数点と固定小数点演算との結果を比較し、演算の誤差が出力保証桁数に収まっているかを判定する。図10の演算結果170の例では、変数outの値が浮動小数点演算の結果では、10.5528であったのに対し固定小数点演算の結果では、10.5546である。この場合では、生成仕様130の出力精度に記載の10-2、つまり小数点第二位まで値が一致しているためステップS165に進み、浮動小数点と固定小数点演算の結果が誤差範囲内であると判定する。一方、演算結果170において、変数outの値が浮動小数点演算の結果では、3.27885であったのに対し固定小数点演算の結果では、3.3050である。この場合であれば、浮動小数点演算と固定小数点演算の結果が小数第一位で異なっている。そのためステップS166に進み浮動小数点と固定小数点演算の結果が誤差範囲外であると判定する。
検証部180は、ステップS168においてステップS163からS167までの判定の結果、浮動小数点演算と固定小数点演算との演算結果170が誤差範囲以内であるデータ数をカウントし、生成仕様130に記載の目標値に達しているか判定を行う。図10の演算結果170の例では、誤差範囲以内のデータ数が4134に達していれば、ステップS169に進み、固定小数点演算のビット幅が仮定ビット幅に収まっていると判定する。一方、誤差範囲以内のデータ数が4134に達していなければ、ステップS170に進み仮定ビット幅に収まっていないと判定する。
検証部180はステップS171において、固定小数点演算のビット幅が仮定ビット幅に収まっているか否かの検証結果190を出力する。以上のように、検証部180は、演算結果170及び生成仕様130に基づいて固定小数点演算が仕様を満たしているか否を検証する。検証部180は、検証結果190が目標値を達成している場合には仕様を満たしていると判定し、検証結果190が目標値を達成していない場合には仕様を満たしていないと判定している。
本実施の形態による固定小数点演算ビット幅検証システム100は、以上のように動作する。本実施の形態による固定小数点演算ビット幅検証システムによれば、演算規模が膨大な固定小数点演算においても効率的に固定小数点演算のビット幅を検証することができる。
以上のように、演算情報に基づいてベルヌーイ試行による区間推定を用いて検証データセットのデータ数を決定して目標値を含む生成仕様を定義する仕様定義部と、生成仕様に基づいて検証データセットを生成する生成部と、検証データセットを用いて固定小数点演算による演算結果を生成する固定小数点演算部と、演算結果及び生成仕様に基づいて固定小数点演算が仕様を満たしているか否かを検証する検証部とを備える固定小数点演算ビット幅の検証システムなので、膨大な演算規模においても効率的に固定小数点演算のビット幅を検証又は決定することができる。
実施の形態2.
図12は、実施の形態2の固定小数点演算ビット幅の決定システム200のブロック図である。図12に図示される実施の形態2の固定小数点演算ビット幅の決定システム200は、実施の形態1の固定小数点演算ビット幅の検証システム100と比較して検証部180のステップ168において、固定小数点演算のビット幅が仮定ビット幅に収まっていない場合に検証仕様を更新し、ビット幅の再検証を行ってビット幅を決定する点で異なり、これに伴い更新部300で求まる更新情報310が追加され仕様定義部120に戻る点でも異なっている。
図において、同一の符号を付したものは、同一またはこれに相当するものであり、このことは明細書の全文、図面の全図において共通することである。さらに、明細書全文に表れている構成要素の形態は、あくまで例示であってこれらの記載に限定されるものではない。
<演算情報110>
図13は、実施の形態2による固定小数点演算ビット幅の決定システム200への演算情報110の例を示す図である。演算情報110は固定小数点ビット幅の検証対象となる演算の内容である演算内容と、その演算内容が対象となる演算全体の中での重要度合いを示す重要度と、演算内容の変数が浮動小数点演算の場合に使用されるデータ型と、演算内容の出力の最低保証桁数である出力保証桁数と、検証データ数と目標値とを決定するために必要な検証保証精度を含む。これに加えて、ビット幅探索モードの区分がある。
演算内容は、変数aと変数bとを入力として変数outを出力とする演算であることを示している。さらに、演算毎に重要度が記載されており、これから仮定の固定小数点ビット幅が決定される。重要度は1から10の段階で設定されており、1が最高、10が最低の重要度となる。図13の例では、演算内容の欄に括弧書きされた自然数が重要度である。
データ型は、浮動小数点演算において、変数aがfloat型、変数outがfloat型で演算されることを示している。また、出力保証桁数は、演算内容を浮動小数点演算の場合と、仮定ビット幅の固定小数点演算の場合の誤差を算出し、その誤差が10-2であればよい。ということを示している。さらに、検証保証精度は、後述する検証データ数の決定に必要な値であり、ε=0.025、δ=0.01となっている。
ビット幅探索モードは、再検証時にビット幅を探索する戦略である。ビット幅探索モードはA、B、Cの3つあり、それぞれ探索の戦略が異なる。ビット幅探索モードがAであれば、再検証時に検証データ数を増加させた上で再検証を行う。この値の算出方法については後述する。Bであれば、再検証時に固定小数点データ幅は変更せず、整数部と小数部の境界を変更させた上で再検証を行う。Cであれば、再検証時に固定小数点ビット幅を変更した上で再検証を行う。なお、この3つのビット幅探索モードは1つだけでもよいし、組み合わせて使用してもよい。
<仕様定義部120>
図14は、仕様定義部120の動作を示すフローチャートである。仕様定義部120は、図14に図示されるステップS201において、前回の検証結果190から判定された仕様が要更新であるか否かが記載された更新情報310を読み込む。なお、更新情報310の初期設定は要更新としている。続くステップS202において読み込んだ更新情報310から再度ビット幅の検証が必要であるか判定を行う。ビット幅の再検証が必要であればステップS203に進み、再検証が必要でない場合はステップS208に進み検証を終了する。1度目の検証時には更新情報310の初期設定が要更新であるため、ステップS203に進むことになる。
仕様定義部120は、ステップS203において演算情報110を読み込む。仕様定義部120はステップS204において検証データ数と目標値とを決定する。例えば、ベルヌーイ試行による区間推定を用いて検証データセット150のデータ数を決定することができる。初期検証であれば、演算情報110に記載の検証保証精度と式(1)からデータ数と目標値とを決定する。再検証の場合であればビット幅探索モードに従ってデータ数と目標値を更新する。
ビット幅探索モードがA(第1のビット幅探索モード)であり初期検証の結果、ビット幅に収まっている検証データ数が目標値に達していない場合には、演算情報110に記載の検証保証精度のεを式(2)の通り更新する。本実施形態においては、検証保証精度εの更新修正度η=0.005とした。つまり初期検証時にε=0.025であれば、再検証時はε=0.020となる。
ε(更新後)=ε(更新前)-η ・・・(2)
図15は、仮定したビット幅に収まる確率の分布を示す図である。図中の(1)はε=0.025、(2)はε=0.020としたときのビット幅の確率の分布を示している。区間推定ではどちらも、「仮定したビット幅に収まる確率が95%以上である確率が99%以上である」といえる。ここで、εを0.020とした場合に、検証データ数は式(1)に従って算出すると、検証データ数は6623となる。この時、検証データセット150のうち、97.0%以上の確率で仮定したビット幅に収まっていればよく、そのため目標値は6425となる。
次に、ステップS205において、固定小数点データ幅は演算情報110の演算内容に記載の重要度から決定する。図16は、重要度と固定小数点データ幅(Qフォーマット)との対応関係を図示したものである。重要度に応じて固定小数点データ幅が変化している。初期検証であれば、演算情報110に記載の演算内容では、出力となる変数aの重要度が3と示されている。そのため、変数aのデータ幅は符号部1bit、整数部15bit、小数部16bitの合計32bitとなる。再検証時はビット幅探索モードに応じて固定小数点データ幅を決定する。
このように、仕様定義部120は、重要度と検証結果とで仮定ビット幅を決めて、検証結果190に応じて仕様より許容条件を緩和し、データ数と目標値とを決定することになる。よって、検証データ数を増加させる一方で目標率を下げることができ、再検証により仕様を満たすことができる。
ビット幅探索モードがB(第2のビット幅探索モード)であれば、再検証時に固定小数点データ幅は変更せず、整数部と小数部との境界を変更させた上で再検証を行う。例えば、初期検証時に符号部1bit、整数部15bit、小数部16bitの合計32bitであれば、再検証時には符号部1bit、整数部10bit、小数部21bitの合計32bitとしてもよい。これによって、小数点演算の精度がより必要な場合においても、小数部のビット数の割合を増加させたのち、再検証により仕様を満たすことができるようになる。
ビット幅探索モードがC(第3のビット幅探索モード)であれば、データ数と目標値とを変更せずに固定小数点ビット幅を変更する。再検証時には符号部1bit、整数部23bit、小数部24bitの48bitとしてもよい。これによって、整数部と小数点演算との精度が共により必要な場合において、固定小数点ビット幅の増加させたのち、再検証により仕様を満たすことができる。また、再検証により仕様を満たすこともできる。
仕様定義部120はステップS206において演算情報110の出力保証桁数から、浮動小数点演算と固定小数点演算との許容誤差範囲を決定する。出力保証桁数が10-2では、浮動小数点演算と固定小数点演算の結果が小数点第二位まで一致していることが検証の合格判定基準となる。
仕様定義部120は、続くステップS207において、生成仕様130を定義する。図17は、仕様定義部120により定義される生成仕様130の例を図示する図である。生成仕様130に記載されているデータ数、目標値、変数と整数部のbitと小数部のbitとからなる固定小数点データ幅、出力精度については、ステップS204からステップS207で決定される値である。
<生成部140>
図7は生成部140の動作の流れを図示するフローチャートを示している。
<演算部160>
図9は演算部160の動作の流れを図示するフローチャートを示している。実施の形態1との相違点はステップS144である。実施の形態1では、固定小数点ビット幅が1つだけであった。しかしながら、実施の形態2では演算ごとに異なる固定小数点ビット幅が定義されている。そのため、ステップS144においても定義された固定小数点ビット幅ごとに固定小数点演算器を生成する。
<検証部180>
図11は検証部180の動作の流れを図示するフローチャートを示している。
<更新部300>
更新部300の動作の流れは図示していないが、検証部180が出力した検証結果190から、再検証が必要か否かの情報が記載された更新情報310を出力する。
以上のように、演算の重要度が定義された演算情報に基づいてベルヌーイ試行による区間推定を用いて検証データセットのデータ数と重要度から固定小数点ビット幅と目標値とを含む生成仕様を定義する仕様定義部と、生成仕様に基づいて検証データセットを生成する生成部と、検証データセットを用いて固定小数点演算による演算結果を生成する固定小数点演算部と、演算結果及び生成仕様に基づいて固定小数点演算が仕様を満たしているか否かを検証し検証結果を生成する検証部と、検証結果に応じて生成仕様の更新判定を行う更新部とを備える固定小数点演算ビット幅の決定システムなので、膨大な演算規模においても効率的に固定小数点演算のビット幅を決定することができる。
100 検証システム、110 演算情報、111 Qフォーマット、120 仕様定義部、130 生成仕様、140 生成部、150 検証データセット、160 演算部、170 演算結果、180 検証部、190 検証結果、200 決定システム、300 更新部、310 更新情報。

Claims (10)

  1. 演算情報に基づいて所望の検証精度を満たすために必要最低限のテストケース数を算出する数式(1)の検証保証精度内の誤差であるδ及びεでベルヌーイ試行による区間推定を用いて検証データセットのデータ数nを決定して目標値を含む生成仕様を中央演算処理装置で定義する仕様定義部と、
    前記生成仕様に基づいて前記検証データセットを前記中央演算処理装置で生成する生成部と、
    前記検証データセットを用いて固定小数点演算による演算結果を前記中央演算処理装置で生成する固定小数点演算部と、
    前記演算結果及び前記生成仕様の数式(1)に基づいて前記固定小数点演算のビット幅が仕様を満たしているか否かを前記中央演算処理装置で検証する検証部と
    を備えることを特徴とする固定小数点演算ビット幅の検証システム。
    Figure 0007235171000002
  2. 請求項1に記載の固定小数点演算ビット幅の検証システムであって、
    前記検証部は、検証結果が前記目標値を達成している場合には前記仕様を満たしていると判定し、前記検証結果が前記目標値を達成していない場合には前記仕様を満たしていないと判定する
    ことを特徴とする固定小数点演算ビット幅の検証システム。
  3. 請求項1又は請求項2に記載の固定小数点演算ビット幅の検証システムであって、
    前記演算情報には、前記固定小数点演算部での演算内容と、前記固定小数点演算でのビット幅となる仮定ビット幅と、前記演算結果として求められる小数点の桁数である出力保証桁数とが含まれる
    ことを特徴とする固定小数点演算ビット幅の検証システム。
  4. 請求項1から3のいずれか1項に記載の固定小数点演算ビット幅の検証システムであって、
    前記生成部は、前記演算情報からランダムに前記データ数nの検証データを生成する
    ことを特徴とする固定小数点演算ビット幅の検証システム。
  5. 請求項1から3のいずれか1項に記載の固定小数点演算ビット幅の検証システムであって、
    前記固定小数点演算部は、前記検証データセットの数だけ前記固定小数点演算を行う
    ことを特徴とする固定小数点演算ビット幅の検証システム。
  6. 演算の重要度が定義された演算情報に基づいて所望の検証精度を満たすために必要最低限のテストケース数を算出する数式(2)の検証保証精度内の誤差であるδ及びεでベルヌーイ試行による区間推定を用いて検証データセットのデータ数nと前記重要度から固定小数点ビット幅と目標値とを含む生成仕様を中央演算処理装置で定義する仕様定義部と、
    前記生成仕様に基づいて前記検証データセットを前記中央演算処理装置で生成する生成部と、
    前記検証データセットを用いて固定小数点演算による演算結果を前記中央演算処理装置で生成する固定小数点演算部と、
    前記演算結果及び前記生成仕様の数式(2)に基づいて前記固定小数点演算のビット幅が仕様を満たしているか否かを検証し検証結果を前記中央演算処理装置で生成する検証部と、
    前記検証結果に応じて前記生成仕様の更新判定を前記中央演算処理装置で行う更新部と
    を備えることを特徴とする固定小数点演算ビット幅の決定システム。
    Figure 0007235171000003
  7. 請求項6に記載の固定小数点演算ビット幅の決定システムであって、
    前記演算情報には、前記固定小数点演算部での演算内容と、前記固定小数点演算でのビット幅となる仮定ビット幅と、前記演算結果として求められる小数点の桁数である出力保証桁数と、再検証時のビット幅探索方法が記載されたビット幅探索モードとが含まれる
    ことを特徴とする固定小数点演算ビット幅の決定システム。
  8. 請求項6又は請求項7に記載の固定小数点演算ビット幅の決定システムであって、
    第1の前記ビット幅探索モードは、前記重要度と前記検証結果とで仮定ビット幅を決めて、前記検証結果に応じて前記仕様より許容条件を緩和し、
    前記仕様定義部は、前記データ数nと前記目標値とを決定する
    ことを特徴とする固定小数点演算ビット幅の決定システム。
  9. 請求項6又は請求項7に記載の固定小数点演算ビット幅の決定システムであって、
    第2の前記ビット幅探索モードは、前記データ数nと前期目標値と固定小数点ビット幅とを変更せずに固定小数点の整数部と小数部との境界を変更する
    ことを特徴とする固定小数点演算ビット幅の決定システム。
  10. 請求項6又は請求項7に記載の固定小数点演算ビット幅の決定システムであって、
    第3の前記ビット幅探索モードは、前記データ数nと前期目標値とを変更せずに固定小数点ビット幅を変更する
    ことを特徴とする固定小数点演算ビット幅の決定システム。
JP2022527871A 2021-04-06 2021-04-06 固定小数点演算ビット幅の検証システム及び決定システム Active JP7235171B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/014649 WO2022215173A1 (ja) 2021-04-06 2021-04-06 固定小数点演算ビット幅の検証システム及び決定システム

Publications (3)

Publication Number Publication Date
JPWO2022215173A1 JPWO2022215173A1 (ja) 2022-10-13
JPWO2022215173A5 JPWO2022215173A5 (ja) 2023-03-07
JP7235171B2 true JP7235171B2 (ja) 2023-03-08

Family

ID=83545329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022527871A Active JP7235171B2 (ja) 2021-04-06 2021-04-06 固定小数点演算ビット幅の検証システム及び決定システム

Country Status (2)

Country Link
JP (1) JP7235171B2 (ja)
WO (1) WO2022215173A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033729A (ja) 2006-07-31 2008-02-14 Fujitsu Ltd 演算プログラム変換装置、演算プログラム変換プログラム、演算プログラム変換方法
JP2009099084A (ja) 2007-10-19 2009-05-07 Kyocera Corp 変換装置
JP2019074951A (ja) 2017-10-17 2019-05-16 富士通株式会社 演算処理回路、演算処理回路を含む演算処理装置、演算処理装置を含む情報処理装置、および方法
JP2020098469A (ja) 2018-12-18 2020-06-25 富士通株式会社 演算処理装置および演算処理装置の制御方法
JP2020166674A (ja) 2019-03-29 2020-10-08 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916130B2 (en) * 2014-11-03 2018-03-13 Arm Limited Apparatus and method for vector processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033729A (ja) 2006-07-31 2008-02-14 Fujitsu Ltd 演算プログラム変換装置、演算プログラム変換プログラム、演算プログラム変換方法
JP2009099084A (ja) 2007-10-19 2009-05-07 Kyocera Corp 変換装置
JP2019074951A (ja) 2017-10-17 2019-05-16 富士通株式会社 演算処理回路、演算処理回路を含む演算処理装置、演算処理装置を含む情報処理装置、および方法
JP2020098469A (ja) 2018-12-18 2020-06-25 富士通株式会社 演算処理装置および演算処理装置の制御方法
JP2020166674A (ja) 2019-03-29 2020-10-08 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム

Also Published As

Publication number Publication date
WO2022215173A1 (ja) 2022-10-13
JPWO2022215173A1 (ja) 2022-10-13

Similar Documents

Publication Publication Date Title
CN111382906B (zh) 一种电力负荷预测方法、系统、设备和计算机可读存储介质
CN105095912A (zh) 数据聚类的方法及装置
Eldib et al. An SMT based method for optimizing arithmetic computations in embedded software code
US20090049417A1 (en) Method of designing a circuit for optimizing output bit length and integrated circuit therefor
Lim et al. One polynomial approximation to produce correctly rounded results of an elementary function for multiple representations and rounding modes
CN115455720A (zh) 一种电驱系统电机电磁阶次噪声优化方法、装置及设备
JP7235171B2 (ja) 固定小数点演算ビット幅の検証システム及び決定システム
CN116679938A (zh) Llvm编译选项序列两阶段优化方法及系统
JP2008510230A (ja) 非循環命令パターンの認識の方法
Lim et al. RLIBM-ALL: A Novel Polynomial Approximation Method to Produce Correctly Rounded Results for Multiple Representations and Rounding Modes
CN116070353B (zh) 翼柱形固体火箭发动机装药可靠性分析方法、设备及介质
Damouche et al. Transformation of a PID controller for numerical accuracy
CN116955163A (zh) 一种神经网络型循环不变式生成方法、装置、介质及设备
CN115828244A (zh) 一种内存泄露检测方法、装置及相关设备
JP5267243B2 (ja) 動作記述変換装置、動作記述変換方法、およびプログラム
CN114077890A (zh) 信息处理装置、机器学习方法和计算机可读存储介质
CN115167868A (zh) 代码编译方法、装置、设备及计算机存储介质
CN112182805B (zh) 机械产品可靠性确定方法及系统、终端、存储介质
CN114972955A (zh) 一种数据处理方法、装置及存储介质
EP4217865A1 (en) Hardware accelerator for executing a computation task
WO2018150588A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7283645B1 (ja) 予測値補正装置、予測値補正方法及びプログラム
EP3518153A1 (en) Information processing method and information processing system
CN112069455A (zh) 一种log-softmax函数硬件加速计算方法
CN115358097B (zh) 固体姿轨控发动机燃气阀的最大推力可靠性分析方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220512

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221102

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: 20230124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230206

R151 Written notification of patent or utility model registration

Ref document number: 7235171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151