The efficacy of a computing innovation over a broad range of applications largely defines its success. Given the vast diversity in application characteristics, it is evident to predict the next generation target architectures to be heterogeneous—comprising variable granularity computing blocks and varied communication mechanisms. Capturing this heterogeneity within an application is an area of research that has a profound impact.