Control speculation in dataflow graphs
AssigneeIntel Corporation
InventorKermin ChoFleming
Life of this patent
Estimating the term…
Abstract
Systems, apparatuses and methods may provide for technology that determines that a control loop is to be executed for an unspecified number of iterations and automatically forces the control loop to be executed for a fixed number of iterations in addition to the unspecified number of iterations, where execution of the control loop for the fixed number of iterations is conducted in parallel. In one example, the technology also removes one or more dataflow tokens associated with the execution of the control loop for the fixed number of iterations.
Claims24
A computing system comprising:
- a network controller;
- and
- a processor coupled to the network controller, the processor including logic coupled to one or more substrates, wherein the logic is to:
- determine that a control loop is to be executed for an unspecified number of iterations;
- execute the control loop for a first speculative iteration that is to involve a speculative load operation;
- return a value of a target memory address if the speculative load operation is successful;
- and
- return a value of zero if the speculative load operation is unsuccessful.
A semiconductor apparatus comprising:
- one or more substrates;
- and
- logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, the logic coupled to the one or more substrates to:
- determine that a control loop is to be executed for an unspecified number of iterations;
- execute the control loop for a first speculative iteration that is to involve a speculative load operation;
- return a value of a target memory address if the speculative load operation is successful;
- and
- return a value of zero if the speculative load operation is unsuccessful.
At least one non-transitory computer-readable storage medium storing a set of executable program instructions, which when executed by a computing system, cause the computing system to:
- determine that a control loop is to be executed for an unspecified number of iterations;
- execute the control loop for a first speculative iteration that is to involve a speculative load operation;
- return a value of a target memory address if the speculative load operation is successful;
- and
- return a value of zero if the speculative load operation is unsuccessful.
A method comprising:
- determining that a control loop is to be executed for an unspecified number of iterations;
- executing the control loop for a first speculative iteration that involves a speculative load operation;
- returning a value of a target memory address if the speculative load operation is successful;
- and
- returning a value of zero if the speculative load operation is unsuccessful.
Dependencies are inferred from the claim text.