High-level Synthesis for Data-intensive Applications