CN112148456B - FPGA high-level comprehensive scheduling method - Google Patents
FPGA high-level comprehensive scheduling method Download PDFInfo
- Publication number
- CN112148456B CN112148456B CN202011062643.0A CN202011062643A CN112148456B CN 112148456 B CN112148456 B CN 112148456B CN 202011062643 A CN202011062643 A CN 202011062643A CN 112148456 B CN112148456 B CN 112148456B
- Authority
- CN
- China
- Prior art keywords
- control step
- time frame
- force
- scheduling
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- RUQBGIMJQUWXPP-CYDGBPFRSA-N Ala-Leu-Ala-Pro Chemical compound C[C@H](N)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](C)C(=O)N1CCC[C@H]1C(O)=O RUQBGIMJQUWXPP-CYDGBPFRSA-N 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 9
- 239000002243 precursor Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000005483 Hooke's law Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
An FPGA high-level comprehensive scheduling method relates to an integrated circuit technology. The invention comprises the following steps: 1) Calculating to obtain the time frame length of each operation; 2) Calculating the sum of the occurrence probabilities of the operations in each control step according to the time frame to obtain probability distribution; 3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not; the indirect force is calculated as follows:the invention obviously improves the operation amount of the scheduling algorithm.
Description
Technical Field
The present invention relates to integrated circuit technology.
Background
With the increase of the logic scale and the increase of the performance demands of the FPGA device, the optimization of a scheduling algorithm in a high-level synthesis process is of great importance. The advantages and disadvantages of the scheduling algorithm directly affect the execution speed, response delay and other time characteristics of the device and the space characteristics of hardware resource cost and the like.
Commonly used Scheduling algorithms mainly include ASAP (As Soon As Possible), ALAP (As Late AsPossible), list Scheduling (LS) and Force guidance (FDS, force-Directed Scheduling). Paulin and Knight in 1989 proposed applying the force-directed algorithm to high-level synthesis, a construction algorithm that looked for minimum resource scheduling based on time constraints. The calculation isAccording to Hooke's law f=k x in mechanics, a state with minimum spring stress is simulated to distribute a force to each movement, so that resources are uniformly distributed to the greatest extent in each period. In the force guidance algorithm, k represents an initial pressure on the control step, x represents a probability variation of the operation occurring in the control step, f represents a force of the control step on the operation, and f represents a repulsive force on the operation larger the f. f comprises a direct force and an indirect force, wherein the direct force characterizes the operation op i Dispatch to control step cs j For control step cs j The resulting influence, the indirect force, characterizes the operation op i Dispatch to control step cs j At the time of op i The effects of the precursor operation and the subsequent operation. Fig. 1 is a main flow of a conventional force guidance algorithm, which includes the following steps:
1) Running ASAP and ALAP scheduling algorithms to obtain a time frame of each operation;
2) Calculating the sum of the occurrence probabilities of the operations in each control step according to the time frame to obtain a probability distribution map;
3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not;
4) Updating the operation direct predecessor and the direct successor timeframe;
5) Update probability distribution map, go to 3).
Wherein op is operated i The time frame length of (a) can be expressed as
ALAP(op i ) Representing operation op i The latest control step which can be scheduled is recorded asAvailable from the ALAP scheduling algorithm; ASAP (op) i ) To operate op i The earliest control step that can be scheduled is denoted +.>Available from ASAP scheduling algorithms.
Operation op i In the control step cs j Probability P (op) i ,cs j ) Is that
The probability distribution at each control step is then obtained as follows
Where n is the total number of operations of this type, K (cs j ) Can be regarded as k in the mechanical formula f=k×x, for representing the control step cs j Initial pressure on the cylinder. Let x (cs) k ) Representing the operation op i Dispatch to control step cs j At the time P (op) i ,cs j ) In the control step cs j The resulting change can be seen as x in the mechanical formula. The probability distribution map can be drawn by the probability distribution case.
Solving the direct force and the indirect force to obtain the resultant force, namely operating op i Dispatch to control step cs j The direct acting force generated is as follows:
when cs k =cs j When x (cs) k ) =1-1/h; when cs k ≠cs j When x (cs) k ) = -1/h. The above formula is deformed to obtain:
the deformation formula avoids the pair x (cs) k ) The direct acting force generated by the dispatching operation can be obtained by directly utilizing the initial pressure distribution condition. In view of operating op i Dispatch to control step cs j The influence of the latter on the predecessor and successor is as follows, and the indirect force formula generated by the scheduling is as follows
Wherein op is w For either direct predecessor or successor to the current operation,is op w Time frame of->To operate op i Post-scheduling op w Updated time frame length, +.>For indirect forces, the algorithm time complexity can be up to +.>
Op is put into i Dispatch to cs j The resultant force calculation formula of (2) is as follows
F(op i ,cs j )=F direct (op i ,cs j )+F indirect (op i ,cs j ,op w ) (7)
Disclosure of Invention
The technical problem to be solved by the invention is to provide a rapid and efficient high-level comprehensive scheduling method for the FPGA in order to adapt to the continuous increase of the scale of the FPGA device.
The technical scheme adopted by the invention for solving the technical problems is that the high-level comprehensive scheduling method of the FPGA comprises the following steps:
1) Calculating the time frame length of each operation:
operation op i The time frame length of (a) can be expressed as
Wherein ALAP (op i ) Representing operation op i The latest control step which can be scheduled is recorded as
2) Calculating the sum of the occurrence probabilities of the operations in each control step according to the time frame to obtain probability distribution:
operation op i In the control step cs j Probability P (op) i ,cs j ) The method comprises the following steps:
the probability distribution at each control step is as follows:
where n is the total number of operations, K (cs j ) Representing a control step cs j Initial pressure on;
3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not;
wherein,,
(3. A) calculating the direct force:let x (cs) k ) Representing the operation op i Dispatch to control step cs j At the time P (op) i ,cs j ) In the control step cs j The generated variation will operate op i Dispatch to control step cs j The direct acting force generated is as follows:
(3.b) calculating an indirect force;
4) Updating the operation direct predecessor and the direct successor timeframe;
5) Updating the probability distribution, and turning to 3);
in the step (3.b), the following method is adopted to calculate the indirect force:
wherein op is w For either direct predecessor or successor to the current operation,is op w Time frame length,/, of%>To operate op i Post-scheduling op w Updated time frame length, +.>
The invention improves the existing scheduling algorithm, and simplifies the calculation of indirect force in the calculation of the involutive force. When solving the indirect force for any one precursor or subsequent precursor, the algorithm before improvement needs to be calculatedDirect force generated by secondary precursor or subsequent implicit dispatching, while the improved algorithm does not need to consider the direct force generated by the implicit dispatching precursor or subsequent implicit dispatching alone, and can directly calculate indirect force, so that the algorithm time complexity can be changed from original ++>Decrease to->For large-scale integrated circuits, the invention obviously improves the operation amount of a scheduling algorithm, and can effectively improve the running speed of a system without reducing the scheduling effect.
Drawings
FIG. 1 is a flow chart of an FPGA high-level scheduling algorithm.
Fig. 2 is a data flow diagram of example 1.
Fig. 3 is a schematic diagram of the distribution of the operation time frames.
Fig. 4 is a schematic diagram of scheduling results of an embodiment.
Detailed Description
The method improves the existing force guiding algorithm based on time frame length priority, simplifies the calculation mode of indirect force, and avoids the complex calculation process of indirect force when the precursor or the subsequent time frame length of the current operation is larger. The problem of excessive calculation amount in the force guidance algorithm can be further solved.
The invention is characterized in that the intermediate relay formula of the original algorithm is improved, and the indirect force formula (6) in the prior art is replaced by the following formula:
wherein,,representing operation op i Dispatch to control step cs j After that, at op w An average value of initial pressures within a schedulable timeframe range; />Represents op w An initial pressure average over the original time frame. Making the difference between these two terms characterizes the operation op i Dispatch to control step cs j Indirect effects of the time. The algorithm time complexity of the relay after improvement can be reduced to +.>
Selecting (op) with the smallest resultant force i ,cs j ) For scheduling, when the resultant forces are the same, the sum can be selected All type K(cs i ) Smaller control steps schedule.
After the current operation is scheduled, the predecessor and the subsequent time frame need to be updated, and the child node can determine that the next operation needs to be implicitly scheduled after the parent node is scheduled and delete the operation from the operation to be scheduled.
When the probability distribution map is required to be updated, only the operation type and the time frame which affect the current operation type and the time frame and the implicit scheduling are considered to be updated.
To further illustrate the present invention, analysis is performed in accordance with the dataflow graph shown in FIG. 2, assuming that all numbered operations are of the same type.
For the data flow shown in fig. 2, an ASAP algorithm and an ALAP algorithm may be used to obtain each operation time frame, for example, as shown in fig. 3.
Wherein cs 1 -cs 5 To control the steps op 1 -op 10 For operation, it can be seen that op 1 、op 2 、op 4 、op 5 、op 8 、op 10 For critical path operations, the operations to be scheduled have only ops 3 、op 6 、op 7 、op 9 . (note: the conventional force-directed algorithm requires calculation of the resultant force of all operations, in this example time frames are ordered by order length), time frame lengthThe operation priority of all the operations to be scheduled is ordered to be op 6 、op 9 、op 3 、op 7 The initial pressure profile over each control step is calculated as shown in table 1.
TABLE 1 initial pressure distribution at each control step
Control step | Initial pressure (K (cs) i )) |
|
1 |
|
4/3 |
cs 3 | 19/6 |
|
8/3 |
cs 5 | 11/6 |
First op 6 Scheduling is carried out, and the following resultant force calculation formula can be obtained:
( And (3) injection: since the op6 is dispatched to cs3 and has no influence on the follow-up of the precursor, the precursor force is directly calculated )
Selecting the smallest combined operation-control step pair (op 6 ,cs 4 ) Op is arranged 6 Dispatch to cs 4 ,4.op 9 For its immediate successor operation, it can only be implicitly scheduled to cs 5 。
Updating probability distribution and then performing op 3 Scheduling to obtain Op is put into 3 Dispatch to cs 2 . Successive op 7 Schedulable to cs 3 、cs 4 And cs 5 Updating probability distribution map, F (op) 7 ,cs 3 )=0,F(op 7 ,cs 4 )=0,F9op 7 ,cs 5 ) The final result obtained by three times of scheduling is shown in fig. 4, and it can be seen that the final operation is uniformly scheduled into the control step, so that the minimum utilization of resources under the time constraint is realized, and meanwhile, the operation speed of the algorithm is optimized, so that the whole scheduling algorithm has certain applicability in the advanced integrated circuit scheduling process. />
Claims (1)
- The high-level comprehensive scheduling method of the FPGA comprises the following steps:1) Calculating the time frame length of each operation:operation op i The time frame length of (a) can be expressed asWherein ALAP (op i ) Representing operation op i The latest control step which can be scheduled is recorded asASAP(op i ) To operate op i The earliest control step that can be scheduled is denoted +.>2) Calculating the sum of the occurrence probabilities of the operations in each control step according to the time frame to obtain probability distribution:operation op i In the control step cs j Probability P (op) i ,cs j ) The method comprises the following steps:the probability distribution at each control step is as follows:where n is the total number of operations, K (cs j ) Representing a control step cs j Initial pressure on;3) Judging whether unscheduled operations exist, if so, calculating the direct force and indirect force of each control step of all the operations to be scheduled in the time frame, and selecting the (op) with the smallest resultant force i ,cs j ) Scheduling, setting the length of a time frame of the current operation to be 1, and ending scheduling if not;wherein,,(3. A) calculating the direct force: let x (cs) k ) Representing the operation op i Dispatch to control step cs j At the time P (op) i ,cs j ) In the control step cs j The generated variation will operate op i Dispatch to control step cs j The direct acting force generated is as follows:(3.b) calculating an indirect force;4) Updating the operation direct predecessor and the direct successor timeframe;5) Updating the probability distribution, and turning to 3);in the step (3.b), the following method is adopted to calculate the indirect force:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062643.0A CN112148456B (en) | 2020-09-30 | 2020-09-30 | FPGA high-level comprehensive scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062643.0A CN112148456B (en) | 2020-09-30 | 2020-09-30 | FPGA high-level comprehensive scheduling method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148456A CN112148456A (en) | 2020-12-29 |
CN112148456B true CN112148456B (en) | 2023-05-16 |
Family
ID=73951624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011062643.0A Active CN112148456B (en) | 2020-09-30 | 2020-09-30 | FPGA high-level comprehensive scheduling method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148456B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL6505645A (en) * | 1964-05-04 | 1965-11-05 | ||
GB0002874D0 (en) * | 1999-06-03 | 2000-03-29 | Sharp Kk | Scheduling method for high-level synthesis and recording medium |
JP2000148808A (en) * | 1998-11-06 | 2000-05-30 | Nec Corp | Method for verifying correctness of structural rtl for scheduled motion description |
WO2007124048A2 (en) * | 2006-04-19 | 2007-11-01 | Trustees Of Princeton University | A hybrid nanotube/cmos dynamically reconfigurable architecture and an integrated design optimization method and system therefor |
CN104360906A (en) * | 2014-10-31 | 2015-02-18 | 中山大学 | High-level comprehensive scheduling method based on difference constraint system and iterative model |
CN106599366A (en) * | 2016-11-11 | 2017-04-26 | 中国人民解放军国防科学技术大学 | High-level integrated dispatching method based on motility |
CN110334436A (en) * | 2019-07-03 | 2019-10-15 | 腾讯科技(深圳)有限公司 | A kind of data processing method and equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383529B2 (en) * | 2004-02-13 | 2008-06-03 | The Regents Of The University Of California | Method and apparatus for designing circuits using high-level synthesis |
US8812285B2 (en) * | 2010-08-31 | 2014-08-19 | The Regents Of The University Of California | Designing digital processors using a flexibility metric |
-
2020
- 2020-09-30 CN CN202011062643.0A patent/CN112148456B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL6505645A (en) * | 1964-05-04 | 1965-11-05 | ||
JP2000148808A (en) * | 1998-11-06 | 2000-05-30 | Nec Corp | Method for verifying correctness of structural rtl for scheduled motion description |
GB0002874D0 (en) * | 1999-06-03 | 2000-03-29 | Sharp Kk | Scheduling method for high-level synthesis and recording medium |
WO2007124048A2 (en) * | 2006-04-19 | 2007-11-01 | Trustees Of Princeton University | A hybrid nanotube/cmos dynamically reconfigurable architecture and an integrated design optimization method and system therefor |
CN104360906A (en) * | 2014-10-31 | 2015-02-18 | 中山大学 | High-level comprehensive scheduling method based on difference constraint system and iterative model |
CN106599366A (en) * | 2016-11-11 | 2017-04-26 | 中国人民解放军国防科学技术大学 | High-level integrated dispatching method based on motility |
CN110334436A (en) * | 2019-07-03 | 2019-10-15 | 腾讯科技(深圳)有限公司 | A kind of data processing method and equipment |
Non-Patent Citations (3)
Title |
---|
Sun Qiang.A peak power optimization scheduling algorithm for multi-cycle operation.《2016 13th IEEE International Conference on Solid-State and Integrated Circuit Technology (ICSICT)》.2017,1-4. * |
刘乙力等.基于时间约束的高层次综合调度方法.《电子技术与软件工程》.2020,第15卷95-97. * |
司巧梅等.一种面向多周期操作的峰值功耗优化调度算法.《微电子学与计算机》.2011,第28卷(第11期),27-30,34. * |
Also Published As
Publication number | Publication date |
---|---|
CN112148456A (en) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101788819B (en) | Dispatching method based on iterative decomposition and flow relaxation in large-scale production process | |
JP5872561B2 (en) | Predictive sequential computer | |
CN110222923A (en) | Dynamically configurable big data analysis system | |
CN102508708A (en) | Heterogeneous multi-core energy-saving task schedule method based on improved genetic algorithm | |
CN101583147B (en) | Segmental online support vector regression method applied in traffic prediction | |
CN114442583B (en) | Method, apparatus and medium for controlling a plurality of controlled apparatuses | |
CN112148456B (en) | FPGA high-level comprehensive scheduling method | |
Li et al. | Degradation-aware decision making in reconfigurable manufacturing systems | |
US20160162267A1 (en) | Optimizing if statements in computer programming | |
CN114004441B (en) | Parallelization deduction calculation method for vehicle scheduling scheme | |
CN112288341B (en) | Credit factory order scheduling method and device based on multi-agent reinforcement learning | |
CN111522845B (en) | Watermark issuing method of stream computing system based on time sequence prediction | |
WO2017149598A1 (en) | Apparatus classification device | |
KR20180043928A (en) | Method for predicting elevator calls using hybrid artificial intelligence learning techniques | |
JP7400819B2 (en) | Prediction device, prediction method, and prediction program | |
Yuan et al. | Research on real-time prediction of completion time based on AE-CNN-LSTM | |
JP2005135280A (en) | Production scheme planning method and device | |
CN116134387B (en) | Method and system for determining the compression ratio of an AI model for an industrial task | |
CN112514352A (en) | Method, device, system, storage medium and terminal for updating scheduling rule | |
CN114675647A (en) | AGV trolley scheduling and path planning method | |
CN117973635B (en) | Decision prediction method, electronic device, and computer-readable storage medium | |
Choi et al. | Deep Learning-Based Multi-Horizon forecasting for automated material handling system throughput in semiconductor Fab | |
CN116050809B (en) | Fault operation planning method and equipment for virtual maintenance | |
CN116934058B (en) | Product service decision method based on multi-agent reinforcement learning | |
JP2019008499A (en) | Solution search processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: No. 2201 and 2301, Floor 22-23, Building 1, No. 1800, Middle Section, Yizhou Avenue, Chengdu High-tech Zone, China (Sichuan) Free Trade Pilot Zone, Chengdu, Sichuan 610000 Applicant after: Chengdu Hua Microelectronics Technology Co.,Ltd. Address before: 610000 22 / F, building 1, No. 1800, middle section of Yizhou Avenue, hi tech Zone, Chengdu City, Sichuan Province Applicant before: CHENGDU SINO MICROELECTRONICS TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |