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.