Domain-Specific Runtime to Orchestrate Computation on Heterogeneous Platforms