The ParaPhrase Project: Parallel Patterns for Adaptive Heterogeneous Multicore Systems