Computationally intensive applications are very diverse. As a consequence, the next generation computing architectures are expected to be heterogeneous---comprising variable granularity computing blocks with varied communication mechanisms. Capturing this heterogeneity across applications is an area of research that has a profound impact in the definition of its architectural features. The focus of this research is to explore the possibility of compiling applications onto custom compute units, where application-level diversity decides architectural adaptability. A single adaptable compute fabric is defined that adapts to application level characteristics using run-time reconfiguration. This project will involve exploring architectural adaptability by redefining the composition of a reconfigurable fabric that adapts to application needs, during run-time.