FastFlow: Combining Pattern-Level Abstraction and Efficiency in GPGPUs