IP Library Granted Patent US 10,423,607
Granted Patent B2
US 10,423,607 · App. 14/687,284 · Granted Sep 24, 2019

Method and apparatus for modulo scheduling

Inventors: Jang-seop Shin (Anyang-si, KR); Yun-heung Paek (Seoul, KR); Min-Wook Ahn (Seoul, KR)
Assignees: SAMSUNG ELECTRONICS CO., LTD.; SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
G06F16/2379G06F16/2462G06F16/9024
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,423,607
App. No.
14/687,284
Granted
Sep 24, 2019
Kind
B2
Abstract

Provided is a modulo scheduling method. The modulo scheduling method includes conducting a search, based on a data dependency graph of a loop, for a recurrence in which a sum of iteration distances between command nodes is less than a predetermined critical value; and determining a processing order of the recurrence.

Claims (28)

1. A modulo scheduling apparatus comprising:

a memory configured to store a program; and

a processor configured to execute the program to:

conduct a search, based on a data dependency graph of a loop, for a recurrence in which a sum of iteration distances between command nodes is less than a predetermined critical value;

determine a processing order of the recurrence; and

perform scheduling with a priority in the recurrence based on the recurrence having the sum of iteration distances between command nodes that is less than the predetermined critical value,

wherein, when a source node is S, the searched recurrence is a route that starts from the source node S and returns to the source node S, and the processor is further configured to initialize an available iteration distance as the critical value before starting the search, update the available iteration distance in response to the iteration distance being reduced while searching for the recurrence in a direction of one or more successive nodes of the source node S, and stop the search if the available iteration distances become less than 0, and

wherein the processor is further configured to recursively visit a non-visited successive node in response to the search stopping.

2. The modulo scheduling apparatus of claim 1 , wherein the processor is further configured to obtain the data dependency graph indicating dependency between the command nodes included in the loop.

3. The modulo scheduling apparatus of claim 1 , wherein the iteration distances correspond to a number of iterations that separate two operation instances of a same command node between which dependency exists in the loop.

4. The modulo scheduling apparatus of claim 1 , wherein, when a currently visited node is V, a successive node of the node V is a node W, and an iteration distance existing between the node V and the node W is D, the processor is further configured to stop conducting the search in a direction of the node W in response to the node W not corresponding to the source node S and the available iteration distance being D or less.

5. The modulo scheduling apparatus of claim 1 , wherein, when a currently visited node is V, a successive node of the node V is a node W, an iteration distance existing between the node V and the node W is D, and a sum of iteration distances existing on a route to reach the source node S from the node W is A, the processor is further configured to stop conducting the search in a direction of the node W in response to the available iteration distance being less than a sum of D and A.

6. The modulo scheduling apparatus of claim 1 , wherein, when a currently visited node is V, a successive node of the node V is a node W, the processor is further configured to stop conducting the search in a direction of the node W in response to the node W not corresponding to a source node and the node W being stored in a route of a current point of time.

7. The modulo scheduling apparatus of claim 1 , wherein the processor is further configured to perform scheduling one or more recurrences searched in an order of a largest minimum initiation interval (MII) to a smallest MII,

wherein the MII is a minimum interval which is needed in repeatedly processing each of the recurrences.

8. A modulo scheduling method comprising:

conducting, by a device, a search, based on a data dependency graph of a loop, for a recurrence in which a sum of iteration distances between command nodes is less than a predetermined critical value;

determining, by the device, a processing order of the recurrence; and

performing scheduling with a priority in the recurrence based on the recurrence having the sum of iteration distances between command nodes that is less than the predetermined critical value,

wherein, when a source node is S, the searched recurrence is a route that starts from the source node S and returns to the source node S, and the conducting the search further comprises initializing, by the device, an available iteration distance as the critical value before starting the search, updating, by the device, the available iteration distance in response to the iteration distance being reduced while searching for the recurrence in a direction of one or more successive nodes of the source node S while reducing the iteration distance, and stopping, by the device, the search in response to the available iteration distances become less than 0, and

wherein the conducting the search further comprises recursively visiting, by the device, a non-visited successive node in response to the search stopping.

9. The modulo scheduling method of claim 8 , further comprising obtaining, by the device, the data dependency graph that indicates dependency between the command nodes included in the loop.

10. The modulo scheduling method of claim 9 , wherein, when a currently visited node is V, a successive node of the node V is W, the conducting the search further comprises stopping, by the device, the search in a direction of the node W in response to the node W not corresponding to a source node and the node W being stored in a route up of a current point time.

11. The modulo scheduling method of claim 9 , wherein the determining the processing order comprises scheduling, by the device, one or more recurrences found by the conducting the search in an order of a largest minimum initiation interval (MII) to a smallest MII,

wherein the MII is a minimum interval which is needed in repeatedly processing each of the recurrences.

12. The modulo scheduling method of claim 8 , wherein, when a currently visited node is V, a successive node of the node V is a node W, and an iteration distance existing between the node V and the node W is D, the conducting the search further comprises stopping, by the device, the search in a direction of the node W in response to the node W not corresponding to the source node S and the available iteration distance being D or less.

13. The modulo scheduling method of claim 8 , wherein, when a currently visited node is V, a successive node of the node V is a node W, an iteration distance existing between the node V and the node W is D, and a sum of iteration distances existing on a route to reach the source node S from the node W is A, the conducting search further comprises stopping, by the device, the search in a direction of the node W in response to the available iteration distance being less than a sum of D and A.

14. A non-transitory computer-readable recording medium storing a program that is executable by a computer to perform the method of claim 8 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2022
From: SAMSUNG ELECTRONICS CO., LTD.; SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
To: SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
Reel/Frame 060983/0669 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: SHIN, JANG-SEOP; PAEK, YUN-HEUNG; AHN, MIN-WOOK
To: SAMSUNG ELECTRONICS CO., LTD.; SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
Reel/Frame 035415/0864 →
Priority Claims (1)
KR 10-2014-0119362 · Sep 5, 2014 · national
Continuity (1)
Related Publication 20160070594A1 · Mar 10, 2016
Cited By (1)
US 12,190,149