JP2019215697A - パラメータ最適化装置、方法、およびプログラム - Google Patents
パラメータ最適化装置、方法、およびプログラム Download PDFInfo
- Publication number
- JP2019215697A JP2019215697A JP2018112515A JP2018112515A JP2019215697A JP 2019215697 A JP2019215697 A JP 2019215697A JP 2018112515 A JP2018112515 A JP 2018112515A JP 2018112515 A JP2018112515 A JP 2018112515A JP 2019215697 A JP2019215697 A JP 2019215697A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- processing
- synthesis
- loop
- synthesis information
- 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
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31338—Design, flexible manufacturing cell design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
従来、高位合成を用いた回路設計において、設計者が指定する設計パラメータ(例えば、ループ展開数など)の値を最適化する手法が提案されている(例えば、特許文献1など参照)。図8は、ソースコード記述から生成される解析木の一例である。この手法では、図8に示すような処理回路の動作を表す解析木を元に「回路あたりの処理レイテンシ」の最小化を目的として最適化を図っている。
しかしながら、前述したような従来技術では、処理回路に関する「回路あたりの性能」の最大化を目的としているため、「回路あたりの性能」と「回路並列数」のトレードオフを最適化することは困難であるという問題点があった。
[パラメータ最適化装置]
まず、図1を参照して、本実施の形態にかかるパラメータ最適化装置10について説明する。図1は、パラメータ最適化装置の構成を示すブロック図である。
このパラメータ最適化装置10は、全体としてサーバ装置などの情報処理装置(コンピュータ)からなり、複数の処理回路に対して対象処理をループ展開して実行する処理システムを、高位合成処理により回路設計する際、高位合成処理で用いるパラメータであるループ展開数と回路並列数の最適な組み合わせを決定する機能を有している。
図2は、回路合成情報の構成例である。図2に示すように、回路合成情報23は、ループ展開数Mと回路並列数Nの組み合わせを示すパラメータと、合成回路の構成を示す処理サイクル数、動作周波数[MHz]、ステート切替サイクル数からなる合成結果情報とを含んでいる。これら回路合成情報23は、組み合わせを識別するためのIDが付与されて、回路合成情報記憶部12に登録されている。
次に、図1を参照して、回路合成情報生成部11の詳細について説明する。
図1に示すように、回路合成情報生成部11は、主な処理部として、パラメータ設定部11A、高位合成部11B、回路並列数算出部11C、および情報登録部11Dを備えている。
高位合成部11Bは、パラメータ設定部11Aが設定したループ展開数Mごとに、当該ループ展開数Mを適用した際に得られる合成回路を、高位合成処理により合成する機能を有している。
情報登録部11Dは、候補として設定されたループ展開数Mと回路並列数Nとの組み合わせに、組み合わせを識別するためのIDと、対応する合成回路の構成を示す合成結果情報とを付与し、得られた回路合成情報23を回路合成情報記憶部12に登録する機能を有している。
次に、図1を参照して、最適パラメータ決定部13の詳細について説明する。
図1に示すように、最適パラメータ決定部13は、主な処理部として、性能推定部13A、性能比較部13B、最適パラメータ記憶部13C、およびパラメータ出力部13Dを備えている。
次に、本実施の形態にかかるパラメータ最適化装置10の動作について説明する。
まず、図3を参照して、回路合成情報生成部11の回路合成情報生成動作について説明する。図3は、回路合成情報生成処理を示すフローチャートである。
続いて、パラメータ設定部11Aは、ループ展開数Miを1〜Qの範囲で1ずつ変化させて設定するため、まず、変数iを1で初期化し(ステップ101)、iの値をループ展開数Miに設定する(ステップ102)。
一方、iがQに到達した場合(ステップ107:YES)、一連の回路合成情報生成処理を終了する。
次に、図4を参照して、最適パラメータ決定部13の最適パラメータ決定動作について説明する。図4は、最適パラメータ決定処理を示すフローチャートである。
一方、PがPmaxより大きい場合(ステップ113:YES)、性能比較部13Bは、PmaxをPで更新するとともに(ステップ114)、Pと対応するループ展開数Mと回路並列数Nとの組み合わせを最適パラメータ26として最適パラメータ記憶部13Cに保存する(ステップ115)。
一方、すべての回路合成情報23の選択が完了した場合(ステップ116:YES)、パラメータ出力部13Dは、最適パラメータ記憶部13Cに保存されている最適パラメータ26を取得して出力し(ステップ117)、一連の最適パラメータ決定処理を終了する。
次に、図5を参照して、性能推定部13Aにおける推定処理性能算出方法について説明する。図5は、一般的な待ち行列システムを示す概念図である。
続いて、AHTの算出方法を説明する。
パラメータ最適化の対象とする処理システム50は、各処理回路51において、入力パケットのフローに応じて処理回路51内のステートを切り替えながら処理することを特徴とする。このため、現在処理中のパケットのフローと次に入力されるパケットのフローが異なる場合、処理回路51内のステートの切り替え処理が発生し、処理時間のオーバヘッドが発生する。
以上を考慮して、本発明では、ステート切り替えによる処理時間のオーバヘッド発生確率を加味した期待値としてAHTを算出する。
このように、本実施の形態は、回路合成情報生成部11が、パラメータの候補としてループ展開数Mと回路並列数Nの組み合わせを複数設定して、これら組み合わせごとに、高位合成処理により得られる合成回路を示す回路合成情報23を生成し、最適パラメータ決定部13が、生成された回路合成情報23ごとに、当該回路合成情報23が示す合成回路に関する推定処理性能Pを算出し、最大の推定処理性能Pmaxが得られた回路合成情報23に基づいて、ループ展開数Mと回路並列数Nの最適な組み合わせを決定するようにしたものである。
また、本実施の形態において、回路合成情報生成部11が、処理システムで使用可能なリソースを示すリソース制約に基づいて、回路並列数を設定するようにしてもよい。
これにより、規定のループ総数およびリソース制約を持つ処理システム50に対して、過不足のない最適なループ展開数および回路並列数を特定することができる。
これにより、入力されたパケットのフローに応じて処理時間が異なる場合であっても、外部から与えられる各フローの到着確率を加味した最適化を図ることができ、実動作環境を反映した回路性能の最適化が可能となる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
Claims (8)
- 複数の処理回路に対して対象処理をループ展開して実行する処理システムを、高位合成処理により回路設計する際、前記高位合成処理で用いる設計パラメータであるループ展開数と回路並列数の最適な組み合わせを決定するパラメータ最適化装置であって、
前記設計パラメータの候補となる、前記ループ展開数と前記回路並列数の組み合わせを複数設定し、これら組み合わせごとに、前記高位合成処理により得られる合成回路を示す回路合成情報を生成する回路合成情報生成部と、
前記回路合成情報ごとに、当該回路合成情報が示す合成回路に関する推定処理性能を算出し、最大の推定処理性能が得られた回路合成情報に基づいて、前記ループ展開数と前記回路並列数の最適な組み合わせを決定する最適パラメータ決定部と
を備えることを特徴とするパラメータ最適化装置。 - 請求項1に記載のパラメータ最適化装置において、
前記回路合成情報生成部は、前記組み合わせを設定する際、前記ループ展開で展開すべきループの総数を示すループ総数に基づいて、前記ループ展開数を設定することを特徴とするパラメータ最適化装置。 - 請求項1または請求項2に記載のパラメータ最適化装置において、
前記回路合成情報生成部は、前記組み合わせを設定する際、前記処理システムで使用可能なリソースを示すリソース制約に基づいて、前記回路並列数を設定することを特徴とするパラメータ最適化装置。 - 請求項1〜請求項3のいずれかに記載のパラメータ最適化装置において、
前記最適パラメータ決定部は、前記推定処理性能を算出する際、前記回路合成情報と、前記対象処理で許容される処理遅延を示す遅延制約と、前記対象処理に対して並列的に入力されるデータの同時入力数とに基づいて、前記推定処理性能を算出することを特徴とするパラメータ最適化装置。 - 請求項1〜請求項4のいずれかに記載のパラメータ最適化装置において、
前記処理システムは、
振り分けられたパケットに対して予めループ展開された前記対象処理の一部を実行する前記複数の処理回路と、
同時に入力される複数フローのパケットを、前記複数の処理回路に対して振り分ける振分部と、
前記複数の処理回路で得られた処理結果を集約して出力する集約部とを備える
ことを特徴とするパラメータ最適化装置。 - 請求項5に記載のパラメータ最適化装置において、
前記複数の処理回路は、前記振分部から振り分けられたパケットのフローに応じて、当該パケットを処理するためのステートを切り替えることを特徴とするパラメータ最適化装置。 - 複数の処理回路に対して対象処理をループ展開して実行する処理システムを、高位合成処理により回路設計する際、前記高位合成処理で用いる設計パラメータであるループ展開数と回路並列数の最適な組み合わせを決定するパラメータ最適化装置で用いられるパラメータ最適化方法であって、
回路合成情報生成部が、前記設計パラメータの候補となる、前記ループ展開数と前記回路並列数の組み合わせを複数設定し、これら組み合わせごとに、前記高位合成処理により得られる合成回路を示す回路合成情報を生成する回路合成情報生成ステップと、
最適パラメータ決定部が、前記回路合成情報ごとに、当該回路合成情報が示す合成回路に関する推定処理性能を算出し、最大の推定処理性能が得られた回路合成情報に基づいて、前記ループ展開数と前記回路並列数の最適な組み合わせを決定する最適パラメータ決定ステップと
を備えることを特徴とするパラメータ最適化方法。 - コンピュータを、請求項1〜請求項6のいずれかに記載のパラメータ最適化装置を構成する各部として機能させるためのプログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018112515A JP6996431B2 (ja) | 2018-06-13 | 2018-06-13 | パラメータ最適化装置、方法、およびプログラム |
| US17/251,739 US11720080B2 (en) | 2018-06-13 | 2019-05-21 | Parameter optimization device, method and program |
| PCT/JP2019/020104 WO2019239820A1 (ja) | 2018-06-13 | 2019-05-21 | パラメータ最適化装置、方法、およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018112515A JP6996431B2 (ja) | 2018-06-13 | 2018-06-13 | パラメータ最適化装置、方法、およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019215697A true JP2019215697A (ja) | 2019-12-19 |
| JP6996431B2 JP6996431B2 (ja) | 2022-01-17 |
Family
ID=68842519
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018112515A Active JP6996431B2 (ja) | 2018-06-13 | 2018-06-13 | パラメータ最適化装置、方法、およびプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11720080B2 (ja) |
| JP (1) | JP6996431B2 (ja) |
| WO (1) | WO2019239820A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12271716B2 (en) | 2022-06-09 | 2025-04-08 | Fujitsu Limited | Computer-readable recording medium storing conversion program and conversion processing method |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002269162A (ja) * | 2001-03-08 | 2002-09-20 | Nec Eng Ltd | 動作合成方法 |
| JP2018041301A (ja) * | 2016-09-08 | 2018-03-15 | 東芝情報システム株式会社 | Rtl最適化システム及びrtl最適化プログラム |
| WO2018066074A1 (ja) * | 2016-10-04 | 2018-04-12 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5367651A (en) * | 1992-11-30 | 1994-11-22 | Intel Corporation | Integrated register allocation, instruction scheduling, instruction reduction and loop unrolling |
| WO2010113330A2 (en) | 2009-03-31 | 2010-10-07 | Nec Corporation | Method and apparatus for design space exploration in high level synthesis |
| JP6242170B2 (ja) * | 2013-11-13 | 2017-12-06 | 三菱電機株式会社 | 回路設計支援装置及びプログラム |
| US10326448B2 (en) * | 2013-11-15 | 2019-06-18 | Scientific Concepts International Corporation | Code partitioning for the array of devices |
| CN105447285B (zh) * | 2016-01-20 | 2018-11-30 | 杭州菲数科技有限公司 | 一种提高OpenCL硬件执行效率的方法 |
| US10380313B1 (en) * | 2016-12-08 | 2019-08-13 | Xilinx, Inc. | Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration |
-
2018
- 2018-06-13 JP JP2018112515A patent/JP6996431B2/ja active Active
-
2019
- 2019-05-21 WO PCT/JP2019/020104 patent/WO2019239820A1/ja not_active Ceased
- 2019-05-21 US US17/251,739 patent/US11720080B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002269162A (ja) * | 2001-03-08 | 2002-09-20 | Nec Eng Ltd | 動作合成方法 |
| JP2018041301A (ja) * | 2016-09-08 | 2018-03-15 | 東芝情報システム株式会社 | Rtl最適化システム及びrtl最適化プログラム |
| WO2018066074A1 (ja) * | 2016-10-04 | 2018-04-12 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12271716B2 (en) | 2022-06-09 | 2025-04-08 | Fujitsu Limited | Computer-readable recording medium storing conversion program and conversion processing method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6996431B2 (ja) | 2022-01-17 |
| US11720080B2 (en) | 2023-08-08 |
| WO2019239820A1 (ja) | 2019-12-19 |
| US20210116882A1 (en) | 2021-04-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Mahmoudi et al. | Performance modeling of serverless computing platforms | |
| US6826733B2 (en) | Parameter variation tolerant method for circuit design optimization | |
| Campbell et al. | The orienteering problem with stochastic travel and service times | |
| Xie et al. | Power of d choices for large-scale bin packing: A loss model | |
| US7480880B2 (en) | Method, system, and program product for computing a yield gradient from statistical timing | |
| WO2018120990A1 (zh) | 业务部署的方法与装置 | |
| KR20160049465A (ko) | 클록 신호의 레이턴시를 조정하기 위한 방법, 장치, 및 프로그램 | |
| US20120266120A1 (en) | Glitch power reduction | |
| JP6996431B2 (ja) | パラメータ最適化装置、方法、およびプログラム | |
| Aït-Salaht et al. | Stochastic bounds and histograms for network performance analysis | |
| Brocal et al. | Task period selection to minimize hyperperiod | |
| US10380287B1 (en) | Systems and methods for modifying a balanced clock structure | |
| US11132489B1 (en) | Layer assignment based on wirelength threshold | |
| Jeż | A universal randomized packet scheduling algorithm | |
| Shortle et al. | Approximation for a two-class weighted fair queueing discipline | |
| Quaglia et al. | Grain sensitive event scheduling in time warp parallel discrete event simulation | |
| Fujiwara et al. | A high-level synthesis algorithm for FPGA designs optimizing critical path with interconnection-delay and clock-skew consideration | |
| US20160103710A1 (en) | Scheduling device | |
| Ewetz et al. | Fast clock skew scheduling based on sparse-graph algorithms | |
| US20210406915A1 (en) | Mobile wireless customer micro-care apparatus and method | |
| Vesilo | Core allocation to minimize total flow time in a multicore system in the presence of a processing time constraint | |
| Hahn et al. | Symblicit exploration and elimination for probabilistic model checking | |
| Hall et al. | Using m/g/l queueing models with vacations to analyze virtualized logic computations | |
| Wüchner et al. | Homogeneous finite-source retrial queues with search of customers from the orbit | |
| Hao et al. | Simultaneous scheduling and binding for resource usage and interconnect complexity reduction in high-level synthesis |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201006 |
|
| 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: 20211116 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211129 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6996431 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |