Adjacent data parallel and streaming operator fusion
First Claim
1. A method for fusing data parallel operations comprising the steps of:
- composing data parallel operations together to create a more complex data parallel operation; and
performing a fusion plan process on a particular complex operation dynamically at runtime, the fusion plan process including analyzing an internal structure of the particular complex operation and removing superfluous merge and partition pairs.
2 Assignments
0 Petitions
Accused Products
Abstract
Various technologies and techniques are disclosed for handling data parallel operations. Data parallel operations are composed together to create a more complex data parallel operation. A fusion plan process is performed on a particular complex operation dynamically at runtime. As part of the fusion plan process, an analysis is performed of a structure of the complex operation and input data. One particular algorithm that best preserves parallelism is chosen from multiple algorithms. The structure of the complex operation is revised based on the particular algorithm chosen. A nested complex operation can also be fused, by inlining its contents into an outer complex operation so that parallelism is preserved across nested operation boundaries.
-
Citations
20 Claims
-
1. A method for fusing data parallel operations comprising the steps of:
-
composing data parallel operations together to create a more complex data parallel operation; and performing a fusion plan process on a particular complex operation dynamically at runtime, the fusion plan process including analyzing an internal structure of the particular complex operation and removing superfluous merge and partition pairs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable medium having computer-executable instructions for causing a computer to perform steps comprising:
-
performing an analysis of a structure of a complex data parallel operation and input data to the complex operation; choosing from a plurality of algorithms one particular algorithm that best preserves parallelism; and revising the structure of the complex operation based on the one particular algorithm chosen. - View Dependent Claims (15, 16)
-
-
17. A method for fusing nested complex operators comprising the steps of:
-
composing one or more data parallel operations together to form a complex operation; and inlining a nested complex operation into an outer complex operation so parallelism is preserved across nested operation boundaries. - View Dependent Claims (18, 19, 20)
-
Specification