JP2019200736A - 調整装置、調整方法および調整プログラム - Google Patents
調整装置、調整方法および調整プログラム Download PDFInfo
- Publication number
- JP2019200736A JP2019200736A JP2018096575A JP2018096575A JP2019200736A JP 2019200736 A JP2019200736 A JP 2019200736A JP 2018096575 A JP2018096575 A JP 2018096575A JP 2018096575 A JP2018096575 A JP 2018096575A JP 2019200736 A JP2019200736 A JP 2019200736A
- Authority
- JP
- Japan
- Prior art keywords
- graph
- adjustment
- compiler
- unit
- processing
- 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
- 238000000034 method Methods 0.000 title claims description 76
- 230000006870 function Effects 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 66
- 238000000354 decomposition reaction Methods 0.000 claims description 77
- 230000008569 process Effects 0.000 claims description 49
- 238000003860 storage Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 23
- 230000002085 persistent effect Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 102100025682 Dystroglycan 1 Human genes 0.000 description 2
- 101000855983 Homo sapiens Dystroglycan 1 Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
〔1−1.演算装置の一例〕
まず、図1を用いて、調整装置が実行する調整処理の一例について説明する。なお、以下の説明では、調整処理により、所定の処理を示すコードを、所定の処理を演算装置100に実行させるための機械語へとコンパイルするコンパイラの調整を行う処理の一例について説明する。
ここで、FPGA150が有する各論理コンポーネントは、入力された情報に対して様々な処理を実行することができる。このような論理コンポーネントが実行可能な処理は、例えば、入力に対する出力の真理値表から生成される論理式を構成する回路により表すことができる。
第2グラフに近づくように、IRビルダやオプティマイザの論理を修正すればよい。
ここで、調整装置10は、第1グラフの構造と第2グラフの構造とが類似するように、コンパイラを調整するのであれば、任意の手法により、第1グラフの構造と第2グラフの構造とを比較してよい。例えば、調整装置10は、グラフが有するトポロジを比較する各種の手法を用いて、第1グラフの構造と第2グラフの構造とを比較し、比較結果に基づいて、第1グラフの構造と第2グラフの構造、または、グラフ構造のパターンが類似するように、コンパイラを調整すればよい。
次に、図1を用いて、調整装置10が実行する調整処理の一例を説明する。まず、調整装置10は、FPGA150が発揮可能な機能を示すグラフ(すなわち、第1グラフ)を機能分解グラフとして取得する。例えば、調整装置10は、所定の処理を実行するためにFPGA150が論理回路を用いて構成する各論理の内容を示す複数のグラフを機能分解グラフとして取得する。
ここで、上述した説明では、調整装置10は、コンパイラ側の調整を行うことで、FPGA150による処理の最適化を図った。しかしながら、実施形態は、これに限定されるものではない。例えば、調整装置10は、所定の処理を実行する際にFPGA150が発揮する機能を調整することで、処理の最適化を図ってもよい。
以下、上記した調整処理を実現する調整装置10が有する機能構成の一例について説明する。図2は、実施形態に係る調整装置の構成例を示す図である。図2に示すように、調整装置10は、通信部20、記憶部30、および制御部40を有する。
次に、図5を用いて、調整装置10が実行する提供処理の流れの一例について説明する。図5は、実施形態に係る調整処理の流れの一例を説明するフローチャートである。まず、調整装置10は、FPGAの機能分解グラフを取得する(ステップS101)。また、調整装置10は、コンパイラであるLLVMの中間表現に基づくDAGが有する構造と機能分解グラフが有する構造とを比較する(ステップS102)。
上記では、調整装置10による提供処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、調整装置10が実行する調整処理のバリエーションについて説明する。
上述した例では、調整装置10は、調整装置10内で調整処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、調整装置10は、演算装置100の設定を行うフロントエンドサーバと、調整処理を実行するバックエンドサーバとにより実現されてもよい。このような場合、例えば、フロントエンドサーバは、図2に示す設定部45を有し、バックエンドサーバは、図2に示す取得部41、分解部42、比較部43、および調整部44を有する。また、調整装置10は、DAGデータベース31や機能分解グラフデータベース32を外部のストレージサーバに記憶させてもよい。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、上述してきた実施形態に係る調整装置10は、例えば図6に示すような構成のコンピュータ1000によって実現される。図6は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
上述したように、調整装置10は、処理に用いる論理回路の組み合わせを変更可能な演算装置の各論理回路が発揮する機能の内容を示す複数の第1グラフと、演算装置に所定の処理を実行させる機械語を生成するコンパイラが、機械語を生成するための所定の処理の内容から生成する第2グラフとを取得する。そして、調整装置10は、取得された第1グラフの構造と第2グラフの構造、または、グラフ構造のパターンが類似するように、コンパイラ若しくは演算装置が発揮する機能を調整する。このように、調整装置10は、PLDの論理設計と、PLDの設定を行うコンパイラが中間表現を生成する際に用いる論理設計とを近づけることで、PLDの設定を最適化するので、PLDにおける処理の効率を改善できる。
20 通信部
30 記憶部
31 DAGデータベース
32 機能分解グラフデータベース
33 LLVM
40 制御部
41 取得部
42 分解部
43 比較部
44 調整部
45 設定部
100 演算装置
150 FPGA
Claims (7)
- 処理に用いる論理回路の組み合わせを変更可能な演算装置の各論理回路が発揮する機能の内容を示す複数の第1グラフと、前記演算装置に所定の処理を実行させる機械語を生成するコンパイラが、前記機械語を生成するための前記所定の処理の内容から生成する第2グラフとを取得する取得部と、
前記取得部により取得された前記第1グラフの構造と前記第2グラフの構造、または、グラフ構造のパターンが類似するように、前記コンパイラ若しくは前記演算装置が発揮する機能を調整する調整部と
を有することを特徴とする調整装置。 - グラフラプラシアンに基づいて、前記第2グラフを複数の分解グラフに分解する分解部
を有し、
前記調整部は、複数の前記第1グラフの構造と、複数の前記分解グラフの構造、または、グラフ構造のパターンが類似するように、前記コンパイラ若しくは前記演算装置が発揮する機能を調整する
ことを特徴とする請求項1に記載の調整装置。 - 前記取得部は、複数の第1グラフを取得し、
前記調整部は、複数の分解グラフの構造と複数の前記第1グラフの構造、または、グラフ構造のパターンが類似するように、前記コンパイラ若しくは前記演算装置が発揮する機能を調整する
ことを特徴とする請求項1または2に記載の調整装置。 - 前記取得部は、スケジューリングのために前記コンパイラが中間表現から生成する第2グラフを取得する
ことを特徴とする請求項1〜3のうちいずれか1つに記載の調整装置。 - 前記取得部は、低レベル仮想機械を用いて構成されたコンパイラが生成する第2グラフを取得する
ことを特徴とする請求項1〜4のうちいずれか1つに記載の調整装置。 - 調整装置が実行する調整方法であって、
処理に用いる論理回路の組み合わせを変更可能な演算装置の各論理回路が発揮する機能の内容を示す複数の第1グラフと、前記演算装置に所定の処理を実行させる機械語を生成するコンパイラが、前記機械語を生成するための前記所定の処理の内容から生成する第2グラフとを取得する取得工程と、
前記取得工程により取得された前記第1グラフの構造と前記第2グラフの構造、または、グラフ構造のパターンが類似するように、前記コンパイラ若しくは前記演算装置が発揮する機能を調整する調整工程と
を含むことを特徴とする調整方法。 - 処理に用いる論理回路の組み合わせを変更可能な演算装置の各論理回路が発揮する機能の内容を示す複数の第1グラフと、前記演算装置に所定の処理を実行させる機械語を生成するコンパイラが、前記機械語を生成するための前記所定の処理の内容から生成する第2グラフとを取得する取得手順と、
前記取得手順により取得された前記第1グラフの構造と前記第2グラフの構造、または、グラフ構造のパターンが類似するように、前記コンパイラ若しくは前記演算装置が発揮する機能を調整する調整手順と
をコンピュータに実行させるための調整プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096575A JP7278716B2 (ja) | 2018-05-18 | 2018-05-18 | 調整装置、調整方法および調整プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096575A JP7278716B2 (ja) | 2018-05-18 | 2018-05-18 | 調整装置、調整方法および調整プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019200736A true JP2019200736A (ja) | 2019-11-21 |
JP7278716B2 JP7278716B2 (ja) | 2023-05-22 |
Family
ID=68611279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018096575A Active JP7278716B2 (ja) | 2018-05-18 | 2018-05-18 | 調整装置、調整方法および調整プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7278716B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004334429A (ja) * | 2003-05-06 | 2004-11-25 | Hitachi Ltd | 論理回路及びその論理回路上で実行するプログラム |
JP2013165490A (ja) * | 2012-02-09 | 2013-08-22 | Altera Corp | 高レベル言語を用いるプログラマブルデバイスの構成 |
JP2014524607A (ja) * | 2011-08-02 | 2014-09-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 異種構成コンピュータ上でハイ・レベルのプログラムをコンパイルし、実行するための技法 |
-
2018
- 2018-05-18 JP JP2018096575A patent/JP7278716B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004334429A (ja) * | 2003-05-06 | 2004-11-25 | Hitachi Ltd | 論理回路及びその論理回路上で実行するプログラム |
JP2014524607A (ja) * | 2011-08-02 | 2014-09-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 異種構成コンピュータ上でハイ・レベルのプログラムをコンパイルし、実行するための技法 |
JP2013165490A (ja) * | 2012-02-09 | 2013-08-22 | Altera Corp | 高レベル言語を用いるプログラマブルデバイスの構成 |
Non-Patent Citations (4)
Title |
---|
CHATTOPADHYAY, A., ET AL: "High-Level Modelling and Exploration of Coarse-Grained Re-Configurable Architecture", IN PROCEEDINGS OF THE CONFERENCE ON DESIGN, AUTOMATION AND TEST IN EUROPE (DATE '08) [ONLINE], JPN7021004141, 10 March 2008 (2008-03-10), pages 1334 - 1339, XP058288867, ISSN: 0004607482, DOI: 10.1145/1403375.1403697 * |
LEE, G ET AL.: ""Automatic mapping of application to coarse-grained reconfigurable architecture based on high-level", 2008 INTERNATIONAL SOC DESIGN CONFERENCE [ONLINE], JPN6022012973, 2008, pages 395 - 398, ISSN: 0004864528 * |
川本達郎: ""グラフ分割と固有値問題"", 日本神経回路学会誌, vol. 第21巻, 第4号, JPN6021039064, 2015, pages 162 - 169, ISSN: 0004864527 * |
橋本識弘 ほか: ""部分マッチングを考慮しMISO構造に対応した専用演算器合成手法"", 電子情報通信学会技術研究報告, vol. 第109巻, 第394号, JPN6021039065, 2010, JP, pages 89 - 94, ISSN: 0004864526 * |
Also Published As
Publication number | Publication date |
---|---|
JP7278716B2 (ja) | 2023-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018171717A1 (zh) | 面向神经网络处理器的自动化设计方法和系统 | |
JP5763783B2 (ja) | 正規表現をコンパイルするための方法および装置 | |
JP5381710B2 (ja) | ε遷移を含まない非決定性有限オートマトン生成システムと方法およびプログラム | |
US20220222404A1 (en) | Optimization of parameters for synthesis of a topology using a discriminant function module | |
US11321625B2 (en) | Quantum circuit optimization using machine learning | |
JP6070936B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2014506692A (ja) | Fsmを実装するための専用要素の利用 | |
JP6933736B2 (ja) | 知識グラフにおけるデータモデルを取得する方法、装置、機器及び媒体 | |
WO2018066074A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN107341210B (zh) | Hadoop平台下的C-DBSCAN-K聚类算法 | |
CN116822422B (zh) | 数字逻辑电路的分析优化方法及相关设备 | |
JP2013524303A (ja) | 設計空間探索を加速する方法及び装置 | |
JPH07160744A (ja) | 自律進化型ハードウェア設計システム | |
WO2021161429A1 (ja) | プログラム生成装置、プログラム生成方法及びプログラム | |
US20220207226A1 (en) | Generation of hardware design using a constraint solver module for topology synthesis | |
JP5157534B2 (ja) | 動作合成装置、および、プログラム | |
US20200234120A1 (en) | Generation of tensor data for learning based on a ranking relationship of labels | |
US8904371B2 (en) | Data handling among actors in a dataflow programming environment | |
JP7278716B2 (ja) | 調整装置、調整方法および調整プログラム | |
JP7230349B2 (ja) | 設計データ分析のためのシステムおよび方法 | |
JP6173644B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JPWO2018066083A1 (ja) | 学習プログラム、情報処理装置および学習方法 | |
JP6364332B2 (ja) | 仕様生成方法、仕様生成装置、及びプログラム | |
CN114239858A (zh) | 一种用于分布式图模型的图学习方法及设备 | |
JP2018041301A (ja) | Rtl最適化システム及びrtl最適化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20191101 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20191108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200917 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211206 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220705 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220705 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220713 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220719 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20220902 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20220906 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20221018 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20221108 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20221220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230220 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20230307 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20230411 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20230411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7278716 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |