Architecture-Aware Mapping And Optimization On Heterogeneous Computing Systems