Exploiting coarse-grained task, data, and pipeline parallelism in stream programs
Hardware-software partitioning and pipelined scheduling of transformative applications